【发布时间】:2021-02-14 02:53:52
【问题描述】:
从我整天翻阅不同教程的总结来看,react 执行 dom 更新的方式似乎是通过以下过程。
- 用户以某种方式与真实的 DOM 交互,触发 DOM 事件,事件的处理程序最终触发一个函数,告诉响应更新。
- React 获取虚拟 dom(此时也代表真实 dom)的“快照”,然后继续使用更新的状态和道具创建新的虚拟 dom。
- React 对快照和新的虚拟 dom 进行比较,然后只修改需要修改的部分 dom 以匹配新的虚拟 dom。
我对这个过程的理解是否正确,至少在简单的层面上?
【问题讨论】:
-
在更高的层面上,您的理解是正确的,但是在它使用 Diffing Algorithm 并比较树节点的地方有很多事情。您可以浏览官方文档 - reactjs.org/docs/reconciliation.html
标签: javascript reactjs