1
0
Fork 0
Browse Source

vault backup: 2022-04-14 17:45:31

master
YuJian 3 years ago
parent
commit
221770ab7a
  1. 3
      自顶向下学 React 源码/React 源码的碎片记录.md
  2. 3
      自顶向下学 React 源码/奇怪的疑惑.md

3
自顶向下学 React 源码/React 源码的碎片记录.md

@ -38,4 +38,5 @@
- 如果也没有任务需要执行,和首屏渲染进入 update 的时候不同,最终会走到 bailoutOnAlreadyFinishedWork 函数中去,这个函数最终会执行 cloneChildFibers 方法,直接克隆一个子 Fiber 节点挂载到当前 Fiber 节点的 child 上 - 如果也没有任务需要执行,和首屏渲染进入 update 的时候不同,最终会走到 bailoutOnAlreadyFinishedWork 函数中去,这个函数最终会执行 cloneChildFibers 方法,直接克隆一个子 Fiber 节点挂载到当前 Fiber 节点的 child 上
- createWorkInProgress 根据情况创建新的 Fiber 节点或者复用已有 Fiber 节点 - createWorkInProgress 根据情况创建新的 Fiber 节点或者复用已有 Fiber 节点
- 对于 Function Component 会调用 renderWithHooks 方法,这个方法会执行 Function Component 自身,返回的值就是 React.createElement 返回的 JSX 对象,这里和 Host Component 不一样 - 对于 Function Component 会调用 renderWithHooks 方法,这个方法会执行 Function Component 自身,返回的值就是 React.createElement 返回的 JSX 对象,这里和 Host Component 不一样
- reconcileChildren 根据 current Fiber 树、 WorkInProgress Fiber 树和 JSX 对象来生成子 Fiber 节点 - reconcileChildren 根据 current Fiber 树、 WorkInProgress Fiber 树和 JSX 对象来生成子 Fiber 节点
- WorkInProgress Fiber 节点不存在 alternate 有可能表示,在上一次更新中不存在这个 Fiber 节点

3
自顶向下学 React 源码/奇怪的疑惑.md

@ -8,4 +8,5 @@
- [ ] 在 React 18 ,beginWork 这个方法似乎做了一些修改,具体修改了什么? - [ ] 在 React 18 ,beginWork 这个方法似乎做了一些修改,具体修改了什么?
- [ ] 什么是按位或? - [ ] 什么是按位或?
- [ ] 为什么 React 要尽可能的复用 Fiber, 是因为创建新的 Fiber 非常消耗性能吗? - [ ] 为什么 React 要尽可能的复用 Fiber, 是因为创建新的 Fiber 非常消耗性能吗?
- [ ] 是不是在 React 运行时中,自始至终都存在两个 Fiber Tree,只是他们的名字会来回交换,一会我是 current 一会他是 current ? - [ ] 是不是在 React 运行时中,自始至终都存在两个 Fiber Tree,只是他们的名字会来回交换,一会我是 current 一会他是 current ?
- [ ] reconcileChildren 的具体功能?
Loading…
Cancel
Save