react执行流程图

570 阅读1分钟

前言:

    react作为一个通过state构建ui的库,其本身内部主要存在schedule、render、commit三个阶段.
    本次主要通过图的形式,来总结归纳

基于

schedule的流程

schedule.png

1686058423828.png

lane模型下的执行流程

1.png

render阶段(对虚拟DOM打标记)的执行流程

通过遍历的方法实现可中断的递归,主要分为"递""归"
"递"阶段会从HostRootFiber开始向下以DFS的方式遍历,为"遍历到的每个fiberNode"执行beginWork方法
当遍历到叶子元素,就进入"归"阶段
"归"阶段会调用completeWork方法处理fiberNode.当某个fiberNode执行完completeWork方法后,如果其存在兄弟fiberNode,则进入父fiberNode的"归"阶段
如果不存在兄弟fiberNode,则进入父fiberNode的"归"阶段
"递"阶段和"归"阶段会交错执行直至HostRootFiber的"归"阶段 

5b904a792fbd04de7203d8fbccd03ad.png

1686150144791.png

fiber架构

2.png

3.png

commit阶段

4.png

5.png

参考资源:React设计原理(卡颂)