From 2c6defb1e3d9fc62e1aaa5bae053691392ab58c5 Mon Sep 17 00:00:00 2001 From: YuJian Date: Sun, 24 Apr 2022 10:34:17 +0800 Subject: [PATCH] vault backup: 2022-04-24 10:34:17 --- .../React 的深入探索 - commitMutationEffects.md | 4 +++- 自顶向下学 React 源码/奇怪的疑惑.md | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/React 的源码深入/React 的流程解析 - commit 阶段/React 的深入探索 - commitMutationEffects.md b/React 的源码深入/React 的流程解析 - commit 阶段/React 的深入探索 - commitMutationEffects.md index 37035c2..d7bb4ac 100644 --- a/React 的源码深入/React 的流程解析 - commit 阶段/React 的深入探索 - commitMutationEffects.md +++ b/React 的源码深入/React 的流程解析 - commit 阶段/React 的深入探索 - commitMutationEffects.md @@ -52,4 +52,6 @@ commitPlacement ### commitHookEffectListUnmount -会调用 useLayoutEffect 的销毁函数,内部会遍历 EffectList,如果包含传入的 tag,当前是 HookLayout,也就是内部存在 useLayoutEffect 的函数组件,那么会执行它们 useLayoutEffect 的回调函数,也就是 ret \ No newline at end of file +会调用 useLayoutEffect 的销毁函数,内部会遍历 EffectList,如果包含传入的 tag,当前是 HookLayout,也就是内部存在 useLayoutEffect 的函数组件,那么会执行它们 useLayoutEffect 的回调函数,也就是 useLayoutEffect 的 return + +在ta'men \ No newline at end of file diff --git a/自顶向下学 React 源码/奇怪的疑惑.md b/自顶向下学 React 源码/奇怪的疑惑.md index 934d749..dd13e68 100644 --- a/自顶向下学 React 源码/奇怪的疑惑.md +++ b/自顶向下学 React 源码/奇怪的疑惑.md @@ -8,7 +8,8 @@ - [ ] 在 React 18 ,beginWork 这个方法似乎做了一些修改,具体修改了什么? - [ ] 什么是按位或? - [ ] 为什么 React 要尽可能的复用 Fiber, 是因为创建新的 Fiber 非常消耗性能吗? -- [ ] 是不是在 React 运行时中,自始至终都存在两个 Fiber Tree,只是他们的名字会来回交换,一会我是 current 一会他是 current ? +- [x] 是不是在 React 运行时中,自始至终都存在两个 Fiber Tree,只是他们的名字会来回交换,一会我是 current 一会他是 current ? + - 是的 - [ ] reconcileChildren 的具体功能? - [x] reconciler 阶段会深度优先遍历找出所有需要更新或者发生更改的 Fiber 节点,然后遍历出完整的Fiber,然后作为参数传递给 commitRoot 函数进入 commit 阶段,那么在 commit 阶段也要对 Fiber 树进行深度优先遍历吗? - [[effectList 的生成]] \ No newline at end of file