脚本宝典收集整理的这篇文章主要介绍了vue和react中的diff有什么区别,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
区别:1、当节点元素类型相同,类名不同时,vue认为是不同的元素,会删除重新创建,而react认为是同类型节点,会进行修改操作;2、列表对比时,vue采用从两端到中间的方式进行对比,而react则是从左往右进行对比。
本文操作环境:windows10系统、Vue2.9.6版,DELL G3电脑。
diff算法:
对dom进行different比较不同的一种算法(虚拟)
共同点:
vue和diff算法,都是不进行跨层级比较,只做同级比较
不同点:
1.vue进行diff时,调用patch打补丁函数,一边比较一边给真实的dom打补丁,vue对比节点时,当节点元素类型相同,类名不同时,认为是不同的元素,删除重新创建,而react认为是同类型的节点,进行修改操作
2.vue列表对比的时候,采用从两端到中间的方式,旧集合和新集合两端各存在两个指针,两两进行比较,每次对比结束后,指针向队列中间移动;react则是从左往右一次对比,利用元素的index和lastindex进行比较
3.当一个集合把最后一个节点移动到最前面,react会把前面的节点依次向后移动,而Vue只会把最后一个节点放在最前面,这样的操作来看,Vue的diff性能是高于react的
【相关推荐:《vue.js教程》】
以上就是vue和react中的diff有什么区别的详细内容,更多请关注脚本宝典其它相关文章!
以上是脚本宝典为你收集整理的vue和react中的diff有什么区别全部内容,希望文章能够帮你解决vue和react中的diff有什么区别所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。