我们知道,操作DOM是非常昂贵的,而操作js却非常便宜。所以像react这样的前端框架便采用js来创建虚拟DOM,然后根据虚拟 DOM 创建相同结构的真实 DOM。每当数据状态发生变化,框架就重新绘制虚拟DOM,然后,框架会比较上次生成的虚拟 DOM 和新的虚拟 DOM 有哪些差异,进而把差异应用到真实 DOM 上。这就是虚拟DOM的工作原理。
虚拟DOM的缺点:
1,如果虚拟DOM大量更改,这是合适的。但是单一的,频繁的更新的话,虚拟DOM将会花费更多的时间处理计算的工作。所以,如果你有一个DOM节点相对较少页面,用虚拟DOM,它实际上有可能会更慢。但对于大多数单页面应用,这应该都会更快。
2,虚拟DOM需要在内存中的维护一份DOM的副本,会占用更多内存。
网友评论