From e1dd4a1edce2a429e143c5749dd74641993b8862 Mon Sep 17 00:00:00 2001 From: YuJian Date: Mon, 18 Apr 2022 15:54:11 +0800 Subject: [PATCH] vault backup: 2022-04-18 15:54:11 --- React 的源码深入/React Reconciler - Fiber 创建.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/React 的源码深入/React Reconciler - Fiber 创建.md b/React 的源码深入/React Reconciler - Fiber 创建.md index dae82e0..a657540 100644 --- a/React 的源码深入/React Reconciler - Fiber 创建.md +++ b/React 的源码深入/React Reconciler - Fiber 创建.md @@ -68,7 +68,7 @@ createInstance 会调用 createElement 方法创建一个 DOM 实例,并调用 这个函数从名字上就能看出来,目的是为了 clone Fiber 的 child 属性,这个函数会调用 createWorkInProgress 函数,从上边可以知道,这个函数可以根据传入的 current 和 WorkInProgress 进行判断是否创建一个新的 Fiber 节点或者复用已有的 current Fiber 节点,并将其互相链接,最终将结果返回,cloneChildFiber 接收到返回的 Fiber 子节点,将其链接到当前 WorkInProgress Fiber 的 child 属性上,并把 Fiber 子节点的 return 赋值 WorkInProgress Fiber -也就是说,如果在 beginWork 中当前,如果zu'j +也就是说,如果在 beginWork 中当前,如果组件并没有发生变化且没有要执行的逻辑,那么他会直接 clone 已有的 Fiber 节点,而不会走到 reconcileChildren 函数创建新的 Fiber 节点 最后返回到 bailoutOnAlreadyFinishedWork 在由它返回到 beginWork,beginWork 流程执行结束