React 和 vue的区别以及React的环境搭建,运行

react

# React

## React 和 vue

- React 和 vue 同属MVVM框架

  - M:model

  - V:VIEW

  - VIEWMODEL

- React 全部是在js中定义的,不象vue将文件拆分为3部分。

react 不存在模板的说法

## 虚拟DOM

- 概念

  - DOM是浏览器提高的API数量相对固定,扩展比较难

  - 虚拟DOM:用js对象表现出DOM的内容以及层级系,可以自定义api,通过特定的方式渲染到页面中。

- 原理

  - 按需更新,重新渲染

- diff算法

  - 逐层对比新旧dom树,所有节点对比完毕后,就能定位到变化的部分了,将变化部分的组件移除,替换新的组建。

  - 在每个DOM节点上都会生成一个key,这个key将dom节点与虚拟dom关联

## react 框架搭建

  - 安装nodejs

  - npm install -g create-react-app

  - create-react-app react_demo1

  - 项目名称不能大写

  - 终端 运行 npm run start  运行项目

 

## JSX基础

 - 它是符合XML规范的js语法,即开闭标签 ** 必须** 完整

 - jsx内部运行时,先把html代码转换为Js对象,组成虚拟dom

 - jsx所有元素只能由一个根基节点

### 渲染标签

注意1:在html中要使用className代替class

注意2:无论在数组还是在变量中去赋值dom,都不需要加引号

注意3:只有有数组,就要用到Key


##组件

注意1:react是一个组件级的框架,所有的组件或路由都是组件的形式存在的,只要注意组件的首字母不能小写,若小写就会被认为是普通的html,有响应式组件,非响应式组件;

 

----------demo---------

import React from 'react';

import ReactDOM from 'react-dom';

import './index.css';

import App from './App';

import reportWebVitals from './reportWebVitals';


//var mydiv=React.createElement('div',{calss:'my-div',id:'mydiv'},'hello denny')


//var msg="text "

//var mydiv2=<div>{msg}</div>


function MyComponent() {

  return <div>my name is denny</div>

}


ReactDOM.render(

  // <React.StrictMode>

  //   <App />

  // </React.StrictMode>,


  //mydiv,


  //mydiv2,


   <React.StrictMode>

     <MyComponent />

   </React.StrictMode>,

  

  document.getElementById('root')

);


// If you want to start measuring performance in your app, pass a function

// to log results (for example: reportWebVitals(console.log))

// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals

reportWebVitals();

 

---------------run react---------------------------------------------

1 cmd  (project path)

2 cnpm i

3. vscode  npm run start

 

以上是 React 和 vue的区别以及React的环境搭建,运行 的全部内容, 来源链接: utcz.com/z/382852.html

回到顶部