js语言和框架-vue.js-基本语法-if\show
面5笔5Vue 中的 key 是用来做什么的?为什么不推荐使用 index 作为 key?
1 key的作用主要是为了高效的更新虚拟DOM
使用 key,它会基于 key 的变化重新排列元素顺序,并且会移除 key 不存在的元素。
它也可以用于强制替换元素/组件而不是重复使用它
2 当以数组的下标index作为key值时,其中一个元素(如增删改查)发生了变化就有可能导致所有元素的key值发生改变。
diff算法是比较同级之间的不同,以key来进行关联。当对数组进行下标的变换时,比如删除第一条数据,那么以后所有的Index都会发生改变,那么key自然也跟着全部发生改变,所以index作为key值是不稳定的,
这种不稳定性有可能导致性能的浪费 导致diff无法关联起上一次一样的数据。因此 能不用Index作为key就不要用Index。