为什么虚拟 dom 会提高性能?
1、虚拟
dom
相当于在 js
和真实 dom
中间加了一个缓存,利用 dom
的 diff 算法避免了没有必要的 dom
操作,从而提高性能。2、用
JavaScript
对象结构表示 DOM
树的结构;然后用这个树构建一个真正的DOM
树,插到文档当中,当状态变更的时候,重新构造一棵新的对象树。然后用新的树和旧的树进行比较,记录两棵树差异把 2 所记录的差异应用到步骤 1 所构建的真正的 DOM
树上,视图就更新了。dom
相当于在 js
和真实 dom
中间加了一个缓存,利用 dom
的 diff 算法避免了没有必要的 dom
操作,从而提高性能。JavaScript
对象结构表示 DOM
树的结构;然后用这个树构建一个真正的DOM
树,插到文档当中,当状态变更的时候,重新构造一棵新的对象树。然后用新的树和旧的树进行比较,记录两棵树差异把 2 所记录的差异应用到步骤 1 所构建的真正的 DOM
树上,视图就更新了。