1
0
Fork 0
Browse Source

vault backup: 2022-05-09 15:18:21

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

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

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
>这个函数的任务是创建 WorkInProgress 树的 Fiber 节点,根据传入参数的判断是复用已有的 Fiber 节点或是创建新的 Fiber 节点
createWorkInProgress 在 Fiber 递归开始前、出现新节点和进入 Bailout 逻辑的时候都会被触发,逻辑开始会先判断传入的 Fiber 节点是否存在 alternate 属性。
createWorkInProgress 在 Fiber 递归开始前和进入 Bailout 逻辑的时候都会被触发,逻辑开始会先判断传入的 Fiber 节点是否存在 alternate 属性。
```javascript
function createWorkInProgress(current, pendingProps) {

Loading…
Cancel
Save