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

React Form组件出现列表子元素缺少唯一key prop警告该怎么解决?

问题原因
  • 你在users.map遍历渲染用户列表时,没有给每一项的根元素加唯一key属性,这是触发报错的直接原因
  • 你之前尝试赋值key时报错,大概率是因为你用了React短语法Fragment<></>,该语法不支持传递任何属性(包括key),所以即使写了key也会识别失败
修复方案

方案1:替换短Fragment为完整语法,绑定接口返回的id为key

reqres的新增用户接口会自动返回唯一id字段,直接绑定即可:

{users.map(user => {   
  return(
    <React.Fragment key={user.id}>
      <p> User Name :{user.user}</p>
      <p>User Email :{user.email}</p>
    </React.Fragment>
  )
})}

方案2:用div包裹列表项,给div加key

如果不需要Fragment减少多余DOM,直接用div作为根节点绑定key即可:

{users.map(user => {   
  return(
    <div key={user.id}>
      <p> User Name :{user.user}</p>
      <p>User Email :{user.email}</p>
    </div>
  )
})}

临时应急方案

如果出现拿不到唯一id的特殊情况,可暂时用数组下标作为key(仅当列表是静态、不会做增删排序操作时适用,否则可能出现渲染异常):

{users.map((user, index) => {   
  return(
    <div key={index}>
      <p> User Name :{user.user}</p>
      <p>User Email :{user.email}</p>
    </div>
  )
})}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 05:54:02