|
|
|
@ -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 节点或是进入 Bailout 逻辑也会进入到 createWorkInProgress 这个函数逻辑中。 |
|
|
|
|
createWorkInProgress 执行完毕之后,我们就有了一个 WorkInProgress Fiber 节点,接下来就会交给 beginWork 和 completeWork 开始正式的 Fiber 递归,在之后的 beginWork 流程中,进入 Bailout 逻辑之后也有可能会进入到 createWorkInProgress 函数逻辑中。 |
|
|
|
|
|
|
|
|
|
在 React 中 Fiber 的创建使用递归实现的**深度优先遍历**算法,即尽可能深的探索树的分支,探索完毕后再回溯,在这一过程中负责探索阶段的就是 beginWork 函数。 |
|
|
|
|
|
|
|
|
|