VNode是什么?
VNode是javascript对象,VNode表示Virtual DOM(虚拟DOM)中的虚拟节点,用Javascript对象来描述真实的DOM把DOM标签属性,内容都变为对象属性
VNode的优点?
兼容性强,不受执行环境的影响
减少操作DOM,提高页面性能
什么是虚拟DOM?
虚拟 dom 是相对于浏览器所渲染出来的真实 dom而言的 就是一个普通的 JavaScript 对象,目的是为了进行最小化地DOM操作。
虚拟 DOM 主要做了两件事:
-
提供与真实 DOM 节点所对应的虚拟节点 vnode
-
将新的虚拟节点和旧的虚拟节点进行对比,然后更新页面
为什么不使用真实DOM?
创建真实DOM成本比较高,而如果用js对象来描述一个dom节点,成本比较低,另外我们在频繁操作dom是一种性能开销比较大。所以用虚拟dom来描述真实dom。