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

React遍历API数组渲染段落时报TypeError undefined错误排查

报错根因
  • 核心问题是数据访问路径写错:接口返回的post.game_indices是数组类型,不是单个对象,你直接在数组上读取.version属性得到的必然是undefined,再尝试读取undefined的.name属性就会抛出你看到的类型错误。
  • 控制台能打印出完整数据不代表代码执行路径合法:浏览器控制台打印对象时采用懒加载机制,你手动点击展开对象时看到的是对象完成赋值后的最终状态,和渲染执行到map代码行时的属性访问逻辑是否正确没有关系。
  • 你现有代码里types、abilities的写法也存在隐患:硬编码读取数组下标[0]、[1],如果对应数组长度不足2会触发同类undefined报错,长度超过2则会漏渲染内容。
修正代码

把错误的game_indices渲染逻辑替换为正确的数组遍历写法:

{post.game_indices.map((entry, idx) => (
  <p key={idx}>{entry.version.name}</p>
))}

如果需要和其他模块一样加显隐控制,新增对应的state和触发按钮即可。另外建议把types、abilities的硬编码下标也改为map遍历写法,从根源避免下标越界问题,以types为例:

{showTypes && post.types.map((entry, idx) => (
  <p key={`type-${idx}`}>{entry.type.name}</p>
))}

abilities模块按相同逻辑修改即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:30:48