请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于虚拟 DOM 是否会一直占用内存的疑问?

图片描述
我看了虚拟 DOM 的两节视频,有些疑问?
(1)、在首次生成真实的 DOM 后,用于生成真实 DOM 的虚拟 DOM 为了和下一次 state 发生变化时做对比会被销毁吗?
(2)、(1) 中提到的虚拟 DOM 如果没有被销毁,那是否会一直占用着内存空间,一直保留一个虚拟 DOM 在内存中,会不会很耗内存,如果虚拟 DOM 很大,那页面是不是会很卡?相反,如果这个虚拟 DOM 被销毁了,它是什么时候被销毁的(在什么时机销毁它)?
(3)、state 发生变化的时候,旧的虚拟 DOM 和新的虚拟 DOM 会发生对比。那么这哥俩对比后,它们发生了什么?用新的虚拟 DOM 去更新旧的虚拟 DOM 上有差异的节点,然后把新的虚拟 DOM 销毁;还是用什么办法合并两个虚拟 DOM 成另一个新的虚拟 DOM,然后把他们都从内存中清理掉;还是……别的什么?

正在回答 回答被采纳积分+3

1回答

Dell 2019-06-27 00:34:46

1,2 会被销毁,销毁了就没有内存占用了,你整个过程中永远最多只会有两个vitrual dom树。

3. 老的销毁掉,只保存新的

0 回复 有任何疑惑可以回复我~
  • 老师,虚拟dom是第4步的时候就销毁么,如果第4步就销毁了,那第7步对比前后的虚拟dom是又需要重新生成一次原始dom么?
    回复 有任何疑惑可以回复我~ 2021-03-16 17:09:14
  • Dell 回复 把匪徒 #2
    没有销毁,而是把上一次的虚拟DOM保存起来,供下次对比使用。
    回复 有任何疑惑可以回复我~ 2021-03-17 00:13:56
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信