关于 react 教程中, react 只更新它需要更新的部分这一章节

2022-07-12 19:10:19 +08:00
 placeholder

他说,尽管每一秒我们都会新建一个描述整个 UI 树的元素,React DOM 只会更新实际改变了的内容,也就是例子中的文本节点。

那是不是就是说,页面上的所有内容其实是整体都刷新了的,只不过是只有一部分内容改变了有一部分没变。

教程页面

905 次点击
所在节点    问与答
5 条回复
noe132
2022-07-12 19:13:20 +08:00
不是。
更新整个 UI 树说的是 vdom ,是在内存中的 javascript 对象。
通过对上一次的 vdom 树 和新的 vdom 树做 diff ,就知道哪些地方不同
然后再将不同的地方用 react dom 更新真实的 dom 。

简单来说就是每次更新都会执行一遍 render 函数,通过 render 出来的差异来做更新
cutemurphy2000
2022-07-12 19:38:10 +08:00
整体更新 那还不如 innerHTML
rabbbit
2022-07-12 19:47:20 +08:00
虚拟 DOM 更新了,真正的 DOM 只更新变化了的部分
placeholder
2022-07-12 21:16:27 +08:00
@noe132 大概明白了,谢谢
placeholder
2022-07-12 21:16:54 +08:00
@rabbbit 好的,谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/865743

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX