很多人不理解为什么在在线建模渲染中常常使用虚拟DOM,而不采用真实DOM进行制作。今天蓝海创意云渲染就为大家揭开这个谜团。
我们为什么不直接使用原生 DOM 元素,而是使用真实 DOM 元素的简化版 VNode,最大的原因就是createElement 这个方法创建的真实 DOM 元素会带来性能上的损失。我们来看一个createElement 方法的例子。
打开 console 运行一下上面的代码,会发现打印出来的属性多达 228 个,而这些属性有 90% 多对我们来说都是无用的。VNode 就是简化版的真实 DOM 元素,关联着真实的dom,比如属性elm,只包括我们需要的属性,并新增了一些在 diff 过程中需要使用的属性,例如 isStatic。
正因为如此,我们才选择了虚拟DOM用于在线建模渲染的过程。蓝海创意云渲染分享的这篇文章的用意,大家应该明白了吧。