美文网首页
React 18 源代码学习 16 flushPassiveEf

React 18 源代码学习 16 flushPassiveEf

作者: 吴摩西 | 来源:发表于2022-09-27 21:06 被阅读0次

flushPassiveEffects 内执行 render 后的 effect。

  1. commitPassiveUnmountEffects 执行 deletions,递归执行 fiber 树中的所有 unmount 中的回调。
  2. commitPassiveMountEffects ,看注释,可知这个过程执行的时机是组件从屏幕外移动到屏幕内,或者从不可见 toggle 到可见。首次执行 commit 时,useEffect 就是从此触发执行。React 会递归调用所有组件的 useEffect,并将返回值存储在 fiber 中。可以在 unmount 时执行。
    Screen Shot 2022-09-27 at 21.02.31.png

flushPassiveEffects 执行完成后,workLoop 检查到任务队列中已经为空,整个第一次渲染结束了。

相关文章

网友评论

      本文标题:React 18 源代码学习 16 flushPassiveEf

      本文链接:https://www.haomeiwen.com/subject/nokqartx.html