固原站长网 资讯 React新特点如何产出更为效率

React新特点如何产出更为效率

为什么选择effect list

effect list是React源码commit阶段的一个特性,选择他的迭代历程讲解是因为:

他是源码内部的feature,对开发者不可知

表面上看起来这是一个不大的改动

他的改动是为了上层新特性而做的底层调整

什么是effect list

React内部工作大体可以分为3个阶段:

调度更新

决定什么组件需要更新

更新组件

那么第三步如何知道要更新哪些组件呢?靠effect list。

如果将React Fiber树比喻为圣诞树,那么每个Fiber节点就是圣诞树上的挂件。

其中需要更新的节点就是亮的彩灯。

如何找到亮的彩灯(需要更新的节点)呢?

从圣诞树顶向下一个挂件一个挂件找么(从根节点依次向下遍历)?

可行,但是效率太低。

为此,React的做法是:将需要更新的节点连接形成一条单链表。

查找时,只需要遍历这条单链表就行。就像圣诞树上的彩灯带一样。

上一篇
下一篇
返回顶部