React是什么?

用于构建界面的javascript库

  1. 发送请求获取数据
  2. 处理数据(过滤、整理格式等)
  3. 操作DOM呈现页面

是一个将数据渲染为HTML视图的开源JavaScript库

谁开发的?

由Facebook开发,且开源

为什么要学?

  1. 原生JavaScripy操作DOM繁琐,效率低(DOM-API操作UI
  2. 使用JavaScript直接操作DOM,浏览器会进行大量的重绘重排
  3. 原生JavaScript没有组件化编码方案,代码复用率低

React的特点

  1. 采用组件化模式、声明式编码。提高开发效率及组件复用率。
  2. 在React Native中可以使用React语法进行移动端开发
  3. 使用虚拟DOM+优秀的Diffing算法,尽量减少与真实DOM的交互。

原生js实现

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3dbfeb88-e578-48a7-95ca-7a74d7cd78d3/image-20210322185509846.png