0
点赞
收藏
分享

微信扫一扫

换服还是掀桌?哪条才是程序员的出路?

求索大伟 2023-11-08 阅读 36

一、v-for必须要指定key,其作用是什么?

在源码中有一个函数为,其中就是通过判断两个vnode的type和key进行判断,如果这两个属性相同,那么这两个vnode就是相同,所以在设置key的时候也不可以设置为object等无法通过三等号判断的类型。

export function isSameVNodeType(n1: VNode, n2: VNode): boolean {
  return n1.type === n2.type && n1.key === n2.key
}

二、diff分为五种对比策略

源码在packages/runtime-core/src/renderer.ts的patchKeyedChildren()函数。
在这里插入图片描述
1、从前向后
2、从后向前
3、新节点 > 旧节点
4、旧节 > 新节点
5、乱序

举报

相关推荐

0 条评论