You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React JSX中使用map函数遍历如何定义唯一key?

解决React遍历数组时缺少唯一key的报错问题

核心问题修正

你遇到的报错主要来自两个问题:

  • 拼写错误:你写的是keys={item.title},React要求的是单数的key属性,复数写法完全不生效。
  • 唯一性风险:如果数组里存在重复的title,用它当key会导致React无法正确识别元素,依然会触发报错。

正确实现方式

情况1:数组对象有唯一ID(推荐方案)

如果你的数据对象自带唯一标识(比如id字段),直接用它作为key:

{yourArray.map(item => (
  <div key={item.id}>
    <h3>{item.title}</h3>
    <p>{item.content}</p>
  </div>
))}

情况2:无唯一ID但title绝对唯一

确认所有title不会重复的前提下,修正拼写为key即可:

{yourArray.map(item => (
  <div key={item.title}>
    <h3>{item.title}</h3>
    <p>{item.content}</p>
  </div>
))}

情况3:无任何唯一属性(仅临时应急,不推荐)

如果数据里没有任何唯一字段,可使用map的第二个参数index作为key,但注意:当数组元素顺序会变化时,用index会导致性能问题或渲染错误,仅适合静态不变的数组:

{yourArray.map((item, index) => (
  <div key={index}>
    <h3>{item.title}</h3>
    <p>{item.content}</p>
  </div>
))}

注意事项

  • key必须加在map返回的最外层元素上,不能加在内部子元素中。
  • 不要用随机值当key,会导致元素每次渲染都重新创建,浪费性能。

内容的提问来源于stack exchange,提问作者shaijuelayidath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 04:53:14