flushPassiveEffects
内执行 render 后的 effect。
-
commitPassiveUnmountEffects
执行deletions
,递归执行 fiber 树中的所有unmount
中的回调。 -
commitPassiveMountEffects
,看注释,可知这个过程执行的时机是组件从屏幕外移动到屏幕内,或者从不可见 toggle 到可见。首次执行 commit 时,useEffect
就是从此触发执行。React 会递归调用所有组件的useEffect
,并将返回值存储在 fiber 中。可以在 unmount 时执行。
Screen Shot 2022-09-27 at 21.02.31.png
当 flushPassiveEffects
执行完成后,workLoop
检查到任务队列中已经为空,整个第一次渲染结束了。
网友评论