列表 & 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 但不会传递给你的组件

最后更新于