概览
- 副作用
- 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」,一起交流技术与思考。
用微信扫一扫;手机上可长按识别,或保存二维码后从微信相册扫码。

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