校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > js语言和框架 > 基本语法-if\show
题目

Vue 中的 key 是用来做什么的?为什么不推荐使用 index 作为 key?

解答

1 key的作用主要是为了高效的更新虚拟DOM

使用 key,它会基于 key 的变化重新排列元素顺序,并且会移除 key 不存在的元素。

它也可以用于强制替换元素/组件而不是重复使用它

2 当以数组的下标index作为key值时,其中一个元素(如增删改查)发生了变化就有可能导致所有元素的key值发生改变。

diff算法是比较同级之间的不同,以key来进行关联。当对数组进行下标的变换时,比如删除第一条数据,那么以后所有的Index都会发生改变,那么key自然也跟着全部发生改变,所以index作为key值是不稳定的,

这种不稳定性有可能导致性能的浪费 导致diff无法关联起上一次一样的数据。因此 能不用Index作为key就不要用Index。

C 11条回复 评论

帖子还没人回复快来抢沙发