React中的真实DOM和虚拟DOM的真实示例是什么?

时间:2018-09-28 09:03:06

标签: reactjs react-native react-native-android

如果有人要求提供Real DOM和Virtual DOM的示例,可能是通过编程的方式?怎么解释?

3 个答案:

答案 0 :(得分:1)

常规DOM操作

如果这些列表项之一更新,则DOM重新呈现整个列表。这就是DOM效率低下的原因。这是低效的,因为它需要递归遍历每个节点。

enter image description here

虚拟DOM

由于数据保存在状态中,因此组件可以仅侦听状态中的事件,如果有更新,则可以将其重新呈现到UI。然后,React只更新那些已更改的元素,而不会更新那些没有更改的元素。

enter image description here

enter image description here

答案 1 :(得分:0)

=>您好Shivani,请参考此链接并查看示例。 真正的dom较慢,而虚拟DOM则比真实DOM快,而其他情况则是虚拟DOM是真实DOM的COPY。

LINK https://www.accelebrate.com/blog/the-real-benefits-of-the-virtual-dom-in-react-js/

答案 2 :(得分:0)

假设您有这样的实际DOM树:

width

现在假设您有虚拟DOM树,它是第一次的实际DOM树副本:

<div id="text">
 <div>
   text 1
 </div>
 <div>
   text 2
 </div>
</div>

现在假设文本2 div元素已更新为新文本,但传递了完整的#text div html进行重新渲染,因此虚拟DOM会将其与自己的树进行比较,并且只会在实际DOM中重新渲染更新的HTML元素。

替换为该div:

<div id="text">
 <div>
   text 1
 </div>
 <div>
   text 2
 </div>
</div>

更新了该div:

 <div>
  text 2
 </div>

因此,总而言之,虚拟DOM与其在树上的对象进行比较,并在发现任何元素之间存在任何差异时更新实际DOM,并且仅更新更新的元素部分而不是完整的HTML,因此虚拟DOM非常快,这是主要的React的概念。