reactjs - 在 this.props.list.map() 期间无法引用子对象
问题描述
我正在映射 this.props 列表,列表中的每个元素都有一些子对象。但是,如果我尝试引用任何子对象,它们是未定义的。
这是循环
this.props.sparts.map((spart) => {
sparts2.push(
<div className="ui column wide spart-container" key="{spart.id}">
<div className="fake-img"></div>
<div className="audio-container">
{spart.audio}
</div>
<div className="writing-container">
{spart.name}
</div>
</div>
)
})
示例对象:
{
"name": "test name",
"audio": {
"name": "some name",
"file_path": "some path"
}
}
我可以很好地引用任何立即值(如名称),但如果我尝试引用 spart.audio.name,它会显示无法读取未定义的属性名称。
为什么我不能引用子对象?
解决方案
我能想到的一个原因是,并非数组中的每个项目都有一个audio
孩子。因此,它是未定义的音频,而不是音频的子级。
使用三元运算符来解决这个问题
{spart.audio ? spart.audio.name : null}
推荐阅读
- hyperledger-composer - Hyperledger composer - 当从一个业务网络调用不同的业务网络时,关于权限 ACL 工作的问题
- google-sheets - Google 电子表格 API - 访问使用服务帐户创建的电子表格
- propertysheet - 将属性表上的 IDCANCEL 按钮更改为 IDCLOSE 按钮,同时考虑本地化
- javascript - jQuery - 从元素中获取 CSS 值
- xamarin.android - Xamarin 表单:如何为 xamarin 表单 android 启动屏幕设置背景颜色?
- oracle - 如何根据Oracle中另一个表的值生成一个表的选择查询
- java - 找不到eclipse项目帮帮我
- php - 使用 EVO-Snap 的 EVO Snap 支付网关 - PHP HostedPayments 库
- c# - 在 Entity Framework Core 中建立关系
- optimization - 每个维度具有不同步长的 scipy L-BFGS-B 优化器