# 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 运行项目