什么是虚拟DOM
先了解一下dom树的发展历程:
- 内存中生成虚拟dom树
- 将内存中的虚拟dom树初始化渲染成真实的dom树
- 当我们修改里面的数据的时候,将之前生成的虚拟dom树结合新的数据生成一颗新的虚拟dom树
- 将此次生成的新的虚拟dom树和之前的dom树进行对比(diff算法)
- 将对比出来的差异的部分进行重新真实的dom渲染
总结起来就是当传统的方式操作dom时,浏览器会从构建dom树开始从头到尾执行一遍,效率很低.而虚拟dom使用js对象去表示的,而操作js的效率是很高效的.虚拟dom和真正的dom有一层映射关系,很多操作dom的地方都会去操作虚拟dom,最后同意一次更新dom,因而可以提高性能
直击虚拟dom 树的效率和性能