From fcc9362968c69b8569c565d2af492ea9d60bd8f0 Mon Sep 17 00:00:00 2001 From: YuJian920 Date: Sat, 16 Apr 2022 20:59:45 +0800 Subject: [PATCH] vault backup: 2022-04-16 20:59:45 --- React 的源码深入/React Reconciler - Fiber 创建.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/React 的源码深入/React Reconciler - Fiber 创建.md b/React 的源码深入/React Reconciler - Fiber 创建.md index 9046459..447fdd9 100644 --- a/React 的源码深入/React Reconciler - Fiber 创建.md +++ b/React 的源码深入/React Reconciler - Fiber 创建.md @@ -66,8 +66,13 @@ createInstance 会调用 createElement 方法创建一个 DOM 实例,并调用 ### cloneChildFibers -这个函数从名字上就能看出来,目的是为了 clone Fiber 的 child 属性,这个函数会调用 createWorkInProgress 函数,从上边可以知道,这个函数可以根据传入的 current 和 WorkInProgress 进行判断是否创建一个新的 Fiber 节点或者复用已有的 current Fiber 节点,并将其互相链接,最终将结果返回,cloneChildFiber 接收到 +这个函数从名字上就能看出来,目的是为了 clone Fiber 的 child 属性,这个函数会调用 createWorkInProgress 函数,从上边可以知道,这个函数可以根据传入的 current 和 WorkInProgress 进行判断是否创建一个新的 Fiber 节点或者复用已有的 current Fiber 节点,并将其互相链接,最终将结果返回,cloneChildFiber 接收到返回的 Fiber 子节点,将其链接到当前 WorkInProgress Fiber 的 child 属性上,并把 Fiber 子节点的 return 赋值 WorkInProgress Fiber + +最后返回到 bailoutOnAlreadyFinishedWork 在由它返回到 beginWork,beginWork 流程执行结束 ### 第二次触发更新 +### createWorkInProgress +第一步很熟悉,有了前面两次执行的流程可以cai'dao + ### 后续触发更新 \ No newline at end of file