官网
- 英文官网: https://reactjs.org/
- 中文官网: https://react.docschina.org/
介绍描述
- 用于动态构建用户界面的 JavaScript 库(只关注于视图)
- 由Facebook开源
将数据渲染到视图上。
js模块化
将一个非常庞大js 按其功能点拆分成单个小的js(拥有独立的逻辑)
组件化
一拆到底,结构,样式,图片,视频等等
React的特点
- 采用组件化模式,声明式编码,提高开发效率及组件复用
- 在reactNatvie 中使用react 语法进行移动端开发
- 使用虚拟dom+优秀的diffing算法,尽量减少真实dom的交互
声明式:直接发送一句号令。就有程序帮你实行,不需要亲历亲为
命令式: 一步步z告诉对方怎么做,来达到自己需要
对比原生js
操作dmo频繁,效率低(dom-api操作ui)
直接操作dom,导致浏览器大量的重绘重排
没有组件化的编码,代码复用率低
虚拟dom:
目前有两条数据,渲染到视图上,然后新增一条数数据,如果是原生js ,先操作dom-api,将数据写入到页面,然后新增一条数据后,又会冲读取数据,此时是将三条数据重新写入页面
如果是react,会先将两条数据写入到虚拟dom 上,然年绘制页面,新增一条数据后。虚拟dom 还存在,此时,会对比之前的虚拟dom,之前的两条数据没有变化,就不会动页面前两条,然后只会在最后面新增第三条
那如果是删除,或者更新会是怎样?
c