当前位置:首页 > 算法 > 正文

vue的diff算法的大概逻辑

  • 算法
  • 2024-07-27 23:47:53
  • 6280

1、 在创建 VNode 就确定类型,以及在 mount/patch 的过程中采用位运算来判断一个 VNode 的类型,在这个优化的基础上再配合 Diff 算法,性能得到提升。

4、 Vue 和 React 都实现了一套虚拟DOM,使我们可以不直接作DOM元素,只作数据便可以重新渲染页面。 而隐在背后的原理便是其高效的Diff算法。 Vue 和 React 的虚拟DOM的Diff算法大致相同,其核心是基于两个简单的假设:基于以上这两点假设,使得虚拟DOM的Diff算法的复杂度从O(n^3)降到了O(n)。

3、 Vue2更新真实DOM的作主要是两种:创建新DOM节点并移除旧DOM节点和更新已存在的DOM节点,这两种方式里创建新DOM节点的开销肯定是远大于更新或移动已有的DOM节点,所以在diff中逻辑都是为了减少新的创建而更多的去复用已有DOM节点来完成DOM的更新。