vue循环中的:key应该怎么写

发布于 2022-09-13 00:54:34 字数 164 浏览 13 评论 0

<div v-for="(item, index) in list" :key="index" class="item"></div>

一直都是这么写的,虽然在很多地方看到不要用index作为key。但是应该怎么写呢?用随机数,时间戳表示唯一?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

街角迷惘 2022-09-20 00:54:34

尽可能使 key 值与数组元素内容相关,如果元素本身就有唯一 ID,那么用这个 ID 是再好不过的了。
不推荐用遍历的 index ,是因为 index与内容无关,只与位置有关,但是插入、删除、排序都会影响元素的位置,如果不会对数组进行这些操作的话,用 index 是不会有问题的。

这就好比你去打疫苗的时候,有人打第一针,有人打第二针,但大家都在一个队伍里。
如果护士叫人进去的时候,只依据当前排队的号安排针剂,那就会打错针,或者为了不打错针重新询问你有没有打针、打的什么针、打了第几针;
但是如果护士按号把人叫进去,并让人提供身份证号来记录和查询打针的记录,那么只要一查记录就知道如何安排针剂了。

当然,这只是一个粗浅的比喻,要学会虚拟 DOM 原理才能理解透彻。

尘世孤行 2022-09-20 00:54:34

自行维护一个自增id

不过只要list不会减少,那key用index也没问题

vue3可以不用写key了好像

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文