From e57bc1a4ead6818afce318c20439f34fda366b3d Mon Sep 17 00:00:00 2001 From: YuJian920 Date: Sat, 16 Apr 2022 15:09:45 +0800 Subject: [PATCH] vault backup: 2022-04-16 15:09:45 --- React 的源码深入/React Reconciler - Fiber 创建.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/React 的源码深入/React Reconciler - Fiber 创建.md b/React 的源码深入/React Reconciler - Fiber 创建.md index 1a0e85c..9a19415 100644 --- a/React 的源码深入/React Reconciler - Fiber 创建.md +++ b/React 的源码深入/React Reconciler - Fiber 创建.md @@ -42,7 +42,8 @@ updateHostRoot 函数中首先会执行 pushHostRootContext 方法,这个方 > completeWork 执行在递归节点的 Fiber 创建之后,主要是为创建好的 Fiber 节点插入内容和插入真实 DOM 树 函数开始,会执行 popTreeContext 并传入 workInProgress,这个函数应该也和 Context 相关,然后进入到 swtich 逻辑,根据 WorkInProgress Fiber 节点的 tag 属性的不同进入不同的 case 逻辑,这里和 beginWork 基本上类似 -React 的遍历顺序是从父到子,最终再从子回到父,所以首屏渲染中首先jin'ru completeWork 的 WorkInProgress 不一定会是 FiberNode ,在这里是 HostComponent, +React 的遍历顺序是从父到子,最终再从子回到父,所以首屏渲染中首先进入 completeWork 的 WorkInProgress 不一定会是 FiberNode ,在这里是 HostComponent +进入到 HostComponent 的 case 之后,又执行了一遍 popTreeContext,官方的注释也写明似乎是有一些特定是考虑 ### 第一次触发更新