|
|
@ -35,5 +35,6 @@ |
|
|
|
2. context 是否发生变化 |
|
|
|
2. context 是否发生变化 |
|
|
|
3. type 是否发生变化 |
|
|
|
3. type 是否发生变化 |
|
|
|
- 如果条件都为否,那么 didReceiveUpdate 变成 false 之外还会判断本次更新当前 Fiber 是否存在需要执行的任务 |
|
|
|
- 如果条件都为否,那么 didReceiveUpdate 变成 false 之外还会判断本次更新当前 Fiber 是否存在需要执行的任务 |
|
|
|
- 如果也没有任务需要执行,那么最终会走到 bailoutOnAlreadyFinishedWork 函数中去,和首屏渲染进入 update 的时候不同,这个函数最终会执行 cloneChildFibers 方法 |
|
|
|
- 如果也没有任务需要执行,和首屏渲染进入 update 的时候不同,最终会走到 bailoutOnAlreadyFinishedWork 函数中去,这个函数最终会执行 cloneChildFibers 方法,直接克隆一个子 Fiber 节点挂载到当前 Fiber 节点的 child 上 |
|
|
|
- createWorkInProgress 根据情况创建新的 Fiber 节点或者复用已有 Fiber 节点 |
|
|
|
- createWorkInProgress 根据情况创建新的 Fiber 节点或者复用已有 Fiber 节点 |
|
|
|
|
|
|
|
- 对于 Function Component 会调用 renderWithHooks 方法,这个方法会执行 Function Component 自身,返回的值就是 React.createElement 返回的 JSX 对象 |