作者: | 来源:互联网 | 2023-09-24 10:24
文档以及很多博客都提到key用于列表元素项的复用,在虚拟dom元素进行对比的时候会用到这个key,以下两种方式有什么区别?
方式1:
1 2 3 4
| const arr = [ {numbers[0]}, {numbers[0]}, {numbers[1]}] return ( ); |
以上会报错:
Warning: Each child in an array or iterator should have a unique 'key' prop.
方式2:
1 2 3 4 5 6 7
| return (
- {numbers[0]}
- {numbers[0]}
- {numbers[1]}
); |
运行不会报错。
问题:以上两种方式创建出来的虚拟dom不是一样的吗?为什么后者不会报key错呢?