一:什么是虚拟DOM
虚拟DOM是对真实DOM的抽象,以js对象(VNode节点)作为基础的树,用对象的属性来描述节点,最终可以通过一系列操作使这棵树映射到真实环境上。 在js对象中,虚拟DOM表现为一个Object对象。并且最少包含标签名(tag)、属性(attrs)和子元素对象(children)三个属性,不同框架对这三个属性的名可能有偏差。
二:为什么需要虚拟DOM?
虚拟DOM的最大的优势diff算法,减少js操作真实DOM的带来的性能消耗。而且虚拟DOM抽象了原本的渲染过程,实现了跨平台的能力。
三:如何实现虚拟DOM
小结 createElement创建VNode的过程,每个VNode有children,children每个元素也有一个VNode,这样就形成了一个虚拟树结构,用于描述真实的DOM结构。