1
0
Fork 0
Browse Source

vault backup: 2022-05-09 15:53:22

master
YuJian 3 years ago
parent
commit
2175a0bdf9
  1. 4
      React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - createWorkInProgress.md

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

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

Loading…
Cancel
Save