关于虚拟 DOM 是否会一直占用内存的疑问?
来源:4-5 深入了解虚拟DOM
leungkaichun
2019-06-26
我看了虚拟 DOM 的两节视频,有些疑问?
(1)、在首次生成真实的 DOM 后,用于生成真实 DOM 的虚拟 DOM 为了和下一次 state 发生变化时做对比会被销毁吗?
(2)、(1) 中提到的虚拟 DOM 如果没有被销毁,那是否会一直占用着内存空间,一直保留一个虚拟 DOM 在内存中,会不会很耗内存,如果虚拟 DOM 很大,那页面是不是会很卡?相反,如果这个虚拟 DOM 被销毁了,它是什么时候被销毁的(在什么时机销毁它)?
(3)、state 发生变化的时候,旧的虚拟 DOM 和新的虚拟 DOM 会发生对比。那么这哥俩对比后,它们发生了什么?用新的虚拟 DOM 去更新旧的虚拟 DOM 上有差异的节点,然后把新的虚拟 DOM 销毁;还是用什么办法合并两个虚拟 DOM 成另一个新的虚拟 DOM,然后把他们都从内存中清理掉;还是……别的什么?
写回答
1回答
-
Dell
2019-06-27
1,2 会被销毁,销毁了就没有内存占用了,你整个过程中永远最多只会有两个vitrual dom树。
3. 老的销毁掉,只保存新的
022021-03-17
相似问题