一. React介绍


1.React起源与发展

  • React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。

2.React与传统MVC的关系

  • 轻量级的视图层库! AJavaScript library for building user interfaces
  • React不是一个完整的MVC框架,最多可以认为是MNC中的v(View),甚至React并不非常认可MNC开发模式;React构建页面UI的库。可以简单地理解为,React将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合、嵌套,就成了我们的页面。

3.React的特性

  1. 声明式设计-React采用声明范式,可以轻松描述应用。
  2. 高效-React通过对DOM的模拟(虚拟dom),最大限度地减少与DOM的交互。
  3. 灵活-React可以与已知的库或框架很好地配合。
  4. JSX-JSX是JavaScript语法的扩展。
  5. 组件-通过React构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
  6. 单向响应的数据流– React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。

4.虚拟DOM

传统dom更新:真实页面对应一个DOM树。在传统页面的开发模式中,每次需要更新页面时,都要手动操作DOM来进行更新。
虚拟dom:DOM操作非常昂贵。我们都知道在前端开发中,性能消耗最大的就是DOM操作,而且这部分代码会让整体项目的代码变得难以维护。React 把真实DOM树转换成JavaScript对象树,也就是VirtualDOM。