key 是用来帮助 react 识别哪些内容被更改、添加或者删除。 ### key 的唯一性 在相邻的元素间,key 值必须是唯一的,如果出现了相同的 key,同样会抛出一个 Warning,告诉相邻组件间有重复的 key 值。并且只会渲染第一个重复 key 值中的元素,因为 react 会认为后续拥有相同 key 的都是同一个组件。 ### key 值不可读 ### 反模式 react默认会在数组组件加上index值作为key,如果在该数组末尾push元素,react 经过 diff 后就会发现前面的元素都没有变化,就会只插入一个新的组件,但是如果在数组前unshift元素,导致之前每个都发生变化,就会重新渲染所有组件,影响性能。所以需要给每个元素加上唯一稳定的key值。