区别:1、当节点元素类型相同,类名不同时,vue认为是不同的元素,会删除重新创建,而react认为是同类型节点,会进行修改操作;2、列表对比时,vue采用从两端到中间的方式进行对比,而react则是从左往右进行对比。

本文操作环境:windows10系统、Vue2.9.6版,DELL G3电脑。

vue和react中的diff有什么区别

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有什么区别的详细内容,转载自php中文网

点赞(788) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部