常见的触发更新的方式:
-
ReactDOM.createRoot().render
(或老版的ReactDOM.render
) -
this.setState
-
useState
的dispatch
方法
我们希望实现一套统一的更新机制,他的特点是:
-
兼容上述触发更新的方式
-
方便后续扩展(优先级机制...)
更新机制的组成部分
-
代表更新的数据结构 ——
Update
-
消费
update
的数据结构 ——UpdateQueue
接下来的工作包括:
-
实现
mount
时调用的API -
将该API接入上述更新机制中
需要考虑的事情:
-
更新可能发生于任意组件,而更新流程是从根节点递归的
-
需要一个统一的根节点保存通用信息
ReactDOM.createRoot(rootElement).render(<App/>)