虚拟DOM是一个关于描述真实DOM节点的js对象,是一个真实DOM的抽象,这里需要区分Vue和react,其实都有virtual DOM 但是其实功能上其实差别比较大的。 我们先了解Vue和react的渲染差别,然后在说说虚拟dom对他们的好处
vue
Vue是MVVM模型,分为两个部分,模板渲染和数据劫持,这部分我们会在MVVM模型里面详细讲述,模板渲染完成页面渲染,将变化体现在页面上,数据劫持主要是收集数据,转变为课劫持的对象,就是拥有get,set的对象,然后通过get收集变化,通过set反馈到其他数据包含模板上,是一种能精准定位变化的模型
react
描述对象的dom,createElement创建DOM节点以及内容,通过render函数渲染到页面上,内容更改需要新旧节点比较才能定位变化,并且挂在到页面每次都是替换root节点
这里我就能知道其实Vue的虚拟DOM和react的虚拟DOM用途大体上是不一样,除了操作js对象更加便捷,Vue的虚拟DOM是为了跨平台,使那些非浏览器环境的的可以使用到VUE,因为虚拟DOM可以通过编译对应映射关系,转换为对应的环境的API 而react的虚拟DOM主要是为了通过计算,找到最小的变化点,替换到页面中,节省dom操作