VUE中演示v-for为什么要加key

我们需要使用key来给每个节点做一个唯一标识,Diff算法就可以正确的识别此节点,找到正确的位置区插入新的节点。

加key主要不是为了性能,主要是为了区分两个 vnode 节点。比如一个列表,增加其中一项,如果不加 key 区分,增加后新旧 vnode 对比就会出现 bug。因为列表元素 DOM 结构相同,vue 会把原本不相同的 vnode 认为是 sameVnode,导致 bug。比如作者例子中写到的状态被复用的问题

https://www.jianshu.com/p/4bd5e745ce95

原文地址:https://www.cnblogs.com/gxw123/p/13300927.html