虚拟 DOM 是什么?
虚拟 DOM 就是用来模拟 DOM 的一个对象,通常含有标签名、标签上的属性、事件监听和子元素们,以及其他属性,并且更新 UI 主要就是通过对比(DOM diIff)旧的虚拟 DOM 树 和新的虚拟 DOM 树的区别完成的。
- 虚拟 DOM 优点
- 能减少不必要的 DOM 操作
- 减少 DOM 操作次数
- 减少 DOM 操作范围
- 能跨平台渲染
- 能减少不必要的 DOM 操作
- 虚拟 DOM 缺点
- 需要额外的创建函数,如 createElement 或 h,但可以通过 JSX 或者 Template 来简化成 XML 写法
- 通过 JSX 或者 Template 来的缺点就是严重依赖的打包工具,不然 js 无法识别语法
参考文章:http://www.alloyteam.com/2015/10/react-virtual-analysis-of-the-dom/