![9fbed9157b024761d4ff1c32859638e3.png](https://i-blog.csdnimg.cn/blog_migrate/8edc2ed99937f047595bff07fa22e8cb.jpeg)
React由Facebook开源,是一个用来动态构建用户界面的js库,官方网站为:https://zh-hans.reactjs.org/。目前React是最为流程的前端库,其特性可见官方首页的介绍,主要包括以下三点:
![0f326f5cfab0a82b09303b267c83fd3b.png](https://i-blog.csdnimg.cn/blog_migrate/5793d5e67623a611b3c05c81277ffa71.jpeg)
官方网站中的三大特性
1.声明式:
所谓声明式,是指有很多操作不用我们再编写代码,而是直接告诉它去操作即可,比如以前是通过JQuery操作DOM,有了React后,只需要关注页面中的数据,当数据有变化时,会自动更新DOM来显示新的内容。
2.组件化:
即把复杂页面进行拆分,拆分后的每一个小页面,即是一个组件,该组件可以多个页面中进行复用,提高了效率的同时,也降低了维护成本。
3.一处学习,随处编写:
React不仅可以写web应用,也可以写App应用,它可以实现跨平台的效果。
总体来说,React是一个很高效的前端库,其高效的主要原因是,React引入了虚拟DOM的概念,它具有批处理和Diff算法,这让我们可以无需担心性能问题而随时刷新整个页面,因为虚拟 DOM会确保只对界面上真正变化的部分进行实际的DOM操作。
虚拟DOM的批量更新,会减少了更新的次数,同时通过Diff算法,可以最小化的对页面进行重绘,减小页面的更新区域,这也是其高效的真正原因。