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

React组件渲染报错:数组子元素需唯一key属性(Abstractfactory)

解决React数组渲染时的"unique key prop"警告

这个警告是React在提示你:当你渲染数组或迭代器里的子元素时,每个元素都需要一个唯一的key属性,这样React才能准确追踪每个元素的变化,优化DOM更新效率。

看你的代码,问题出在render方法里的这一段:

{this.state.items.map( i => (<div>i.id</div>))}

这里有两个小问题:

  • 没有给每个生成的<div>元素添加key属性
  • 你想渲染i.id的实际值,但现在写的是字符串"i.id",不会显示客户的真实id

修正方案

把这段代码改成下面这样:

{this.state.items.map(i => (
  <div key={i.id}>
    {i.id}
  </div>
))}

关键点说明

  • key的选择:这里用i.id作为key是最佳选择,因为id是每个Customer对象的唯一标识,符合React对key的要求——稳定、唯一、可预测。尽量不要用数组的索引作为key,尤其是当列表可能会有增删、排序操作时,索引会导致React识别元素出错。
  • 插值语法:React中要渲染变量的值,必须用{}包裹,所以把i.id改成{i.id}才能正确显示客户的id。

这样修改后,那个警告就会消失,同时也能正确渲染出每个客户的id啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:22:10