列表 & Key
List And Keys
渲染多个组件
你可以通过使用 {} 在 JSX 内构建一个元素集合
a key should be provided for list items 这是一个警告,意思是当你创建一个元素时,必须包括一个特殊的 key 属性
Key
key 帮助 React 识别哪些元素改变了,比如被添加或删除,因此你应当给数组中的每一个元素赋予一个确定的标识
一个元素的 key 最好是这个元素在列表中拥有的一个独一无二的字符串,通常,我们使用数据中的 id 来作为元素的 key
当元素没有确定 id 的时候,万不得已你可以使用元素索引 index 作为 key
如果列表项目的顺序可能会变化,我们不建议使用索引来用作 key 值,因为这样做会导致性能变差,还可能引起组件状态的问题
如果你选择不指定显示的 key 值,那么 React 将默认使用索引引用作为列表项目的 key 值
元素的 key 值只有放在就近的数组上下文中才有意义
一个好的经验法则是:在 map() 方法中的元素需要设置 key 属性
key 只是在兄弟节点之间必须唯一
它们不需要是全局唯一的,当我们生成两个不同的数组时,我们可以使用相同的 key 值
key 会传递信息给 React 但不会传递给你的组件
最后更新于
这有帮助吗?