Yihui’s Blog

commit 阶段流程

概览

  • 副作用
  • commit阶段工作

这些副作用对应的DOM操作在commit阶段执行。

除此之外,一些生命周期钩子(比如componentDidXXX)、hook(比如useEffect)需要在commit阶段执行。

commit阶段的主要工作(即Renderer的工作流程)分为三部分:

  • before mutation阶段(执行DOM操作前)
  • mutation阶段(执行DOM操作)
  • layout阶段(执行DOM操作后)

在before mutation阶段之前和layout阶段之后还有一些额外工作,涉及到比如useEffect的触发、优先级相关的重置、ref的绑定/解绑。

before mutation阶段

mutation阶段

layout阶段

维护与整理 · Yihui在 GitHub 上编辑

微信公众号

在微信里,继续阅读。

关注「泯泷ML」,一起交流技术与思考。

用微信扫一扫;手机上可长按识别,或保存二维码后从微信相册扫码。

微信公众号「泯泷ML」关注二维码保存二维码

也可在微信「搜一搜 → 公众号」中搜索名称。

使用 GitHub 登录后即可留言,中英文界面共享同一篇文章的讨论。