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

React中传入数组类型prop时调用map方法报undefined错误如何解决?

错误原因

这个报错的核心原因是你调用map方法的tags变量为undefined,具体触发场景通常是以下两种:

  • 存在没有传入tags属性的Card组件调用场景,比如你有其他地方写了<Card />没有传tags,此时组件内解构拿到的tags就是undefined
  • 你传入的tags来自异步接口请求,定义tags的初始值没有设为空数组,首次渲染时接口还没返回数据,tags还处于undefined状态

修复方案

选任意一种即可:

  1. 解构props时直接给tags设置默认值
const { tags = [] } = props;
  1. 调用map时用可选链做兼容判断
{tags?.map((tag) => ( <Tag>{tag}</Tag> ))}
  1. 给组件添加默认属性配置,更符合组件规范
// 引入PropTypes后添加以下配置
Card.propTypes = {
  tags: PropTypes.array
}
Card.defaultProps = {
  tags: []
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:45:02