Vnode 是什么 ,什么是虚拟DOM ?
Vnode 是 JavaScript 对象,就是把标签结构的信息描述成js对象 ;
Vnode 的作用:通过 render 函数 将 template 描述成 Vnode ,然后通过一系列操作转换真实dom ;
ps:template 编译过程:https://www.cnblogs.com/zhulongxu/p/16867737.html 每个组件都有一个 render 函数,都会返回 Vnode ;
Vnode的优点:
兼容性强,不受执行环境的影响
减少操作真实 DOM,提高页面性能
什么是虚拟DOM ?
虚拟DOM 是相对真实dom而言的 ,频繁操作真实dom性能会降低,所以操作虚拟DOM 来进行计算和操作 ;react和 vue 都是基于虚拟DOM 的框架 ;
虚拟 DOM 主要做了两件事,
-
提供与真实 DOM 节点所对应的虚拟节点 vnode
- 将新的虚拟节点和旧的虚拟节点进行对比,然后更新页面