1
0
Fork 0
Browse Source

vault backup: 2022-05-09 11:32:19

master
YuJian 3 years ago
parent
commit
9c7f834f76
  1. 2
      React 的源码深入/React 的流程解析 - Fiber 递归/React 的流程解析 - Fiber 递归.md
  2. 2
      React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - beginWork.md

2
React 的源码深入/React 的流程解析 - Fiber 递归/React 的流程解析 - Fiber 递归.md

@ -39,7 +39,7 @@ function createWorkInProgress(current, pendingProps) { @@ -39,7 +39,7 @@ function createWorkInProgress(current, pendingProps) {
这个函数具体的深入解析可以看 [[React 的深入探索 - createWorkInProgress]]。
createWorkInProgress 执行完毕之后,我们就有了一个 WorkInProgress Fiber 节点,接下来就会交给 beginWork 和 completeWork 开始正式的 Fiber 递归,在之后的 beginWork 流程中,如果发现存在新增的 Fiber 节点也会进入到 createWorkInProgress 这个函数逻辑中。
createWorkInProgress 执行完毕之后,我们就有了一个 WorkInProgress Fiber 节点,接下来就会交给 beginWork 和 completeWork 开始正式的 Fiber 递归,在之后的 beginWork 流程中,如果发现存在新增的 Fiber 节点或是进入 Bailout 逻辑也会进入到 createWorkInProgress 这个函数逻辑中。
在 React 中 Fiber 的创建使用递归实现的**深度优先遍历**算法,即尽可能深的探索树的分支,探索完毕后再回溯,在这一过程中负责探索阶段的就是 beginWork 函数。

2
React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - beginWork.md

@ -2,8 +2,6 @@ @@ -2,8 +2,6 @@
[代码位置](https://github.com/facebook/react/blob/bd4784c8f8c6b17cf45c712db8ed8ed19a622b26/packages/react-reconciler/src/ReactFiberBeginWork.old.js#L3818)
代码太长了,全部代码就不截图了,直接分段截图吧
第一段是针对开发环境的逻辑,先跳过
在进入主要函数逻辑之前,会先进入一个对 current 的空值判断,这个 current 就是 React 双缓存机制中的 current Fiber 树的 Fiber 节点,然后进入

Loading…
Cancel
Save