reactjs - 映射数组中的项目 - 反应
问题描述
我有一个像这样的对象:
{
"id": 1,
"name": "car",
"colors": ["white", "black"]
}
我将我的对象放入data
使用 useState。
当我尝试data.name
结果是“汽车”
当我尝试data.colors
结果是“whiteblack”
但是当我尝试使用以下颜色映射颜色时:
{data.colors.map((color, i) =>
<span key={i} >{color}</span>
)}
我会得到TypeError: Cannot read property 'map' of undefined
我错过了什么?
解决方案
一个可能的原因是您尝试在加载数据之前映射数据。例如,如果您在加载组件时启动对某些资源的 fetch 调用,但同时映射返回的对象。在这种情况下,数据将是未定义的。
一个简单的解决方法是在映射数据之前检查数据是否未定义。
{data && data.colors.map((color, i) =>
<span key={i} >{color}</span>
)}
推荐阅读
- javascript - ng-model 未绑定到 ng-repeat 中的输入数据
- javascript - 我想在一个旁边创建两个轮播
- pandas - pandas 仅为另一个表的公共行设置列值
- c# - 我可以替换的值
文档标签? - ssl - Azure 应用服务:Windows Embedded Compact 7 上的 SSL/TLS
- excel - 在 Excel 中打开 Outlook 模板时删除签名
- python - 我希望输出类似于 [[1,2,3,4,5,6,7,8,9,10],[2,4,6,8,10,12...18,20] ,[3,6,9...27,30].....[9,18,27..90]]
- python-3.x - .arange 命令上的 Numpy 错误
- javascript - Chrome Resize 事件和 getComputedStyle
- laravel - 如何将 Nexts.js 添加到 Laravel