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

已给React列表子元素设置key prop仍提示Each child in a list应有唯一key报错

问题原因
  • _id存在重复/缺失:首先排查你后端返回的notes数组里,是否有多个条目_id值相同,或者部分条目没有_id字段。如果新增笔记时你前端临时生成的笔记项还未拿到后端返回的真实_id,用了重复的占位值,也会出现这个问题。
  • 警告来源不是当前map:这个警告可能是Noteitem组件内部的列表渲染没有加key导致的,你可以点开控制台警告的组件调用栈,定位触发警告的具体列表位置,不要只盯着外层的map看。
  • 字段名不匹配:检查你后端接口返回的主键字段名是不是确实是_id,如果后端返回的是id,那你取note._id就会得到undefined,所有项的key都相同就会触发警告。
解决方法
  • 先打印验证_id的有效性,执行代码console.log(notes.map(note => note._id)),检查输出的数组里是否有重复值、空值或者undefined。
  • 如果是临时新增的未同步到后端的笔记没有_id,可以临时用uuid等工具生成唯一值作为临时key,等后端返回真实_id后再替换。
  • 调试阶段可以临时把key改成key={`${note._id || 'temp'}-${index}`},如果警告消失就可以确定是_id的有效性问题,再去排查后端返回数据的逻辑即可,注意不要长期用索引作为key,避免出现渲染异常。
  • 检查Noteitem组件的代码,确认内部所有列表渲染都正确添加了唯一key。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:21:03