From a451342bc2eb24343d9ea7c0e3eedc400486cb7e Mon Sep 17 00:00:00 2001 From: YuJian920 Date: Sat, 16 Apr 2022 14:59:45 +0800 Subject: [PATCH] vault backup: 2022-04-16 14:59:45 --- React 的源码深入/React Reconciler - Fiber 创建.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/React 的源码深入/React Reconciler - Fiber 创建.md b/React 的源码深入/React Reconciler - Fiber 创建.md index ac34e51..37537b7 100644 --- a/React 的源码深入/React Reconciler - Fiber 创建.md +++ b/React 的源码深入/React Reconciler - Fiber 创建.md @@ -14,7 +14,7 @@ createWorkInProgress 之后,Fiber 的操作就会交由 beginWork 和 complete ### beginWork -> beginWork 执行在递归节点的 Fiber 执行之前,主要是为传入的 Fiber 节点根据类型创建第一个子 Fiber 节点 +> beginWork 执行在递归节点的 Fiber 创建之前,主要是为传入的 Fiber 节点根据类型创建第一个子 Fiber 节点 首先会对 current 做空值判断,因为对于首屏渲染而言,当前传入的 current Fiber 节点是 FiberNode,所以是存在的,会进入 current !== null 的逻辑,然后会判断当前 Fiber 节点是否发生变化,然后赋值 didReceiveUpdate 做更新标识,判断的条件如下: 1. 新旧 props 是否相同 @@ -39,6 +39,8 @@ updateHostRoot 函数中首先会执行 pushHostRootContext 方法,这个方 ### completeWork +> completeWork 执行在递归节点的 Fiber 创建之后,主要是为创建好的 Fiber 节点插入内容和插入真实 DOM 树 + ### 第一次触发更新 ### 第二次触发更新