【发布时间】:2018-09-28 09:03:05
【问题描述】:
如果有人问Real DOM 和Virtual DOM 的例子,可能是程序化的?这怎么解释?
【问题讨论】:
标签: reactjs react-native react-native-android
如果有人问Real DOM 和Virtual DOM 的例子,可能是程序化的?这怎么解释?
【问题讨论】:
标签: reactjs react-native react-native-android
=> 您好 Shivani,请参考此链接并查看示例。 Real dom 很慢,Virtual DOM 比 real DOM 快,其他的都是 Virtual DOM 是 Real DOM 的 COPY。
链接:https://www.accelebrate.com/blog/the-real-benefits-of-the-virtual-dom-in-react-js/
【讨论】:
假设你有这样的实际 DOM 树:
<div id="text">
<div>
text 1
</div>
<div>
text 2
</div>
</div>
现在假设你有一个虚拟 DOM 树,它是第一次实际 DOM 树的副本:
<div id="text">
<div>
text 1
</div>
<div>
text 2
</div>
</div>
现在假设 text 2 div 元素更新了新文本,但传递了完整的#text div html 进行重新渲染,因此虚拟 DOM 会将其与自己的树进行比较,它只会在实际 DOM 中重新渲染更新后的 HTML 元素。
用这个 div 替换:
<div>
text 2
</div>
更新了这个 div:
<div>
text 3
</div>
所以总而言之,虚拟 DOM 与其在树上的对象进行比较,并在发现任何元素中的任何差异时更新实际 DOM,它只更新更新的元素部分而不是完整的 HTML,因此虚拟 DOM 非常快,这是主要的React 的概念。
【讨论】: