01vue2 和 vue3 diff 算法的区别
vue2是全量进行diff,而vue3使用了静态标记,只对打标记的节点进行diffvue2中的虚拟dom是进行全量的对比,在运行时会对所有节点生成一个虚拟节点树,当页面数据发生变更好,会遍历判断虚拟dom所有节点(包括一些不会变化的节点)有没有发生变化;vue3在diff算法中相比vue2增加了静态标记,在模版编译时,编译器会在动态标签末尾加上/*Text*/PatchFlag。也就是在生成VNode的时候,同时打上标记,patch过程中就会判断这个标记来Diff优化流程,跳过一些静态节点对比
来自:vue.js-vue重排与重绘-diff