React核心概念

React 起源于 Facebook 的内部项目,用来架设自instagram的网站。

前端三大主流框架:

angular.js :

前端框架的老大哥,学习起来较为麻烦,1为引入组件化的定义。2开始进行了一系列改革,启用组件化,也支持使用Typescript进行编程。

vue.js:

最火的一门前端框架,中文文档友好
实现组件化:
.vue文件

react.js:

最流行的前端框架,前后兼容性较好

实现组件化:
没有像vue一样的文件,直接使用js代码的形式,创建任何组件,不像vue区分三部分。



react核心概念:

虚拟DOM:

DOM是由浏览器中的js提供的一个功能,所以我们只能人为的使用浏览器提供的固定的API来操作DOM对象。
虚拟DOM:不是由浏览器提供,是由程序员手动模拟实现的,类似于浏览器的DOM但是有本质区别。
本质:使用js来模拟DOM树
手动模拟的原理:使用js创建一个对象,用这个对象来模拟每个DOM节点,然后在每个DOM节点中,又提供了类似于children这样的属性,来描述当前DOM的子节点,这样,当DOM节点形成了嵌套关系,就模拟出了一棵DOM树。
目的:为了实现DOM节点的高效更新。


Diff算法:

tree diff:新旧DOM树,逐层对比的方式,就叫做tree diff ,当我们从前到后,把所有层的节点对比完后,必然可以找到需要更新的元素。
component diff:在对比每一层的时候,组件之间的对比,叫做component diff 当对比组建的时候,如果两个组件的类型相同,则暂时认为这个组件不需要被更新,如果组件的类型不同,则立即将旧组件移除,新建一个组件,替换到被移除的位置。
element diff:在组件中,元素级别 的对比
key:可以把页面上的DOM节点和虚拟DOM中的对象,做一层关联关系。

发布了158 篇原创文章 · 获赞 44 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_43277404/article/details/104224268