关于componentDidUpdate中使用setState 的问题
来源:7-7 commitWork删除节点的操作过程
董曼巴
2019-12-14
大家好,请教一个问题。componentDidUpdate在commit 的第三个循环内执行的,如果在componentDidUpdate中执行setState(不考虑无限循环的问题)
请问:componentDidUpdate里产生的更新是在本次commit流程中嵌套了一次渲染提交流程吗?
写回答
1回答
-
董曼巴
提问者
2019-12-16
花了一些时间,终于理清楚了:
整个 performWorkOnRoot 期间,isRendering都是 true ,调度流程 requestWork 遇到 isRendering: true 会被终止。所有生命周期里产生的更新符合条件的话,会触发 performWork 的 while 循环的条件,继续执行下一轮
(理解有误的地方,还请各位指正一下)
00
相似问题