【 学习探索过程中记下的点点笔记,以供分享,欢迎大家一起学习探讨~如有雷同可附链接,谦虚学习!】
理由:
- 无key时,会存在“就地复用”的问题。
(同一组件标签相同,key相同就会复用) - 有key时,只需移动无需重新创建dom。
尽量使用用唯一的值来标识的key可以防止修改列表时出现BUG。
⚠️注意:
尽量不要使用索引值index作key值,一定要用唯一标识的值,如id等。
原因是index虽然能够解决key不冲突的问题,但是并不能解决复用的情况。
补充:
如果是静态数据,用索引号index做key值是没有问题的。
事实上v-for时如果不加key,默认使用的还是索引号index,但是控制台会报警告的,所以尽量还是加上key较好。
没有key的时候默认使用的是“就地复用”策略。如果数据项的顺序被改变,Vue不是移动Dom元素来匹配数据项的改变,而是简单复用原来位置的每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。
(不是很理解“就地复用”的童鞋可以详细戳以下链接了解一下,里面有例子,相互学习![https://blog.csdn.net/xukongjing1/article/details/81587549?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task])