|
|
@ -3,4 +3,7 @@ before Mutation 阶段主要处理三件事情: |
|
|
|
2. 执行 commitBeforMutationEffectOnFiber 函数 |
|
|
|
2. 执行 commitBeforMutationEffectOnFiber 函数 |
|
|
|
3. 判断 Fiber 是否存在 Passive 的标记,有的话就执行 flushPassiveEffects 回调函数 |
|
|
|
3. 判断 Fiber 是否存在 Passive 的标记,有的话就执行 flushPassiveEffects 回调函数 |
|
|
|
|
|
|
|
|
|
|
|
### commitBeforMutationEffectOnFiber |
|
|
|
### commitBeforMutationEffectOnFiber(commitBeforeMutationLifeCycles) |
|
|
|
|
|
|
|
内部会根据 Fiber 的 tag 进入不同的处理逻辑,以 ClassComponents 为例,如果 Fiber 节点上有 Snapshot 的标记,那么会通过 Fiber stateNode 属性取到 ClassComponent 实例执行 getSnapshotBeforeUpdate 这个生命周期函数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
如果一个 Fiber 存在 Passive 标记,以 FunctonComponent 为例, |