vue和react的diff算法的区别

Posted mengff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue和react的diff算法的区别相关的知识,希望对你有一定的参考价值。

vue和react的diff算法,都是忽略跨级比较,只做同级比较。vue diff时调动patch函数,参数是vnode和oldVnode,分别代表新旧节点。

1. vue比对节点,当节点元素类型相同,但是className不同,任务是不同类型元素,删除重建,而react会认为是同类型节点,只是修改节点属性

2. vue的列表比对,采用从两端到中间的比对方式,而react则采用从左到右依次比对的方式。当一个集合,只是把最后一个节点移动到了第一个,react会把前面的节点依次移动,而vue只会把最后一个节点移动到第一个。总体上,vue的对比方式更高效。

以上是关于vue和react的diff算法的区别的主要内容,如果未能解决你的问题,请参考以下文章

web前端diff 算法深入一下?

React的diff算法详解

你怎么理解vue中的diff算法?

Vue 虚拟DOM和Diff算法

Vue 虚拟DOM和Diff算法

彻底理解vue的patch流程和diff算法