最近,我查看了Facebook的React框架。它使用了一个我并不真正理解的概念,即“虚拟DOM”。
什么是虚拟DOM?有什么优势?
React创建了代表DOM一部分的自定义对象树。例如,它不是创建包含UL元素的实际DIV元素,而是创建包含React.ul对象的React.div对象。它可以非常快速地操作这些对象,而无需实际接触真正的DOM或通过DOM API。然后,当它呈现一个组件时,它使用此虚拟DOM弄清楚它需要与真实DOM做什么才能使两棵树匹配。
您可以将虚拟DOM视为一个蓝图。它包含构建DOM所需的所有细节,但是由于它不需要进入真正DOM的所有重量级部件,因此可以更轻松地创建和更改它。