diff --git a/React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - createWorkInProgress.md b/React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - createWorkInProgress.md index 3c4867e..314dddf 100644 --- a/React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - createWorkInProgress.md +++ b/React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - createWorkInProgress.md @@ -1,6 +1,6 @@ >这个函数的任务是创建 WorkInProgress 树的 Fiber 节点,根据传入参数的判断是复用已有的 Fiber 节点或是创建新的 Fiber 节点 -createWorkInProgress 在 Fiber 递归开始前和进入 Bailout 逻辑的时候都会被触发,React 为了提高性能会尽可能的复用 Fiber,如果当前的 current 节点已经存在一个链接的 WorkInProgress 节点,那么新创建的 WorkInProgress 就会基于这个已有的节点来创建 +createWorkInProgress 在 Fiber 递归开始前和进入 Bailout 逻辑的时候都会被触发,React 为了提高性能会尽可能的复用 Fiber,如果当前的 current 节点已经存在一个链接的 WorkInProgress 节点,那么新创建的 WorkInProgress 就会基于这个已有的节点来创建。 逻辑开始会先判断传入的 Fiber 节点是否存在 alternate 属性。 @@ -15,7 +15,7 @@ function createWorkInProgress(current, pendingProps) { } ``` -alternate 属性链接的是其对应的 WorkInProgress 节点,如果该属性不存在会进入创建新 Fiber 的逻辑: +根据属性是否存在会进入不同的新 Fiber 创建逻辑: ## 创建新 Fiber 节点