【发布时间】:2020-03-25 19:06:13
【问题描述】:
我知道有很多线程已经回答了这个在 react js 中使用 map 的嵌套循环问题,但是我很困惑如何在我的代码中实现它。试了几次都报错,
这是我尝试过的一些主题,但我似乎无法实现它:
这是我想要得到的 Json:
"costs": [
{
"service": "CTC",
"description": "JNE City Courier",
"cost": [
{
"value": 234000,
"etd": "1-2",
"note": ""
}
]
},
{
"service": "CTCYES",
"description": "JNE City Courier",
"cost": [
{
"value": 468000,
"etd": "1-1",
"note": ""
}
]
}
]
我想要的是从这个 JSON 示例中获取值,但仍然没有运气
这是我要循环的组件:
<MDBDropdown className="select-type">
<MDBDropdownToggle caret className="select-btn">
Choose Your Courier Service
</MDBDropdownToggle>
<MDBDropdownMenu basic onClick={this.serviceData}>
{shipmentFees != null ? shipmentFees.map(
shipmentFee => (
<MDBDropdownItem key={shipmentFee.cost.service} name={shipmentFee.cost.description + "," + shipmentFee.cost.etd} value={shipmentFee.cost.value}>
{shipmentFee.cost.description}, {shipmentFee.cost.etd} Days
</MDBDropdownItem>
)
)
:
<MDBDropdownItem value="-">There is no service</MDBDropdownItem>
}
</MDBDropdownMenu>
</MDBDropdown>
从参考编号 3 开始,我尝试了这个解决方案,但我得到了 unexpected token, expected ","
<MDBDropdown className="select-type">
<MDBDropdownToggle caret className="select-btn">
Choose Your Courier Service
</MDBDropdownToggle>
<MDBDropdownMenu basic onClick={this.serviceData}>
{shipmentFees != null ? shipmentFees.map(
shipmentFee => (
{
shipmentFee.cost.map(
cost => (
<MDBDropdownItem key={cost.service} name={cost.description + "," + cost.etd} value={cost.value}>
{cost.description}, {cost.etd} Days
</MDBDropdownItem>
)
)}
)
)
:
<MDBDropdownItem value="-">There is no service</MDBDropdownItem>
}
</MDBDropdownMenu>
</MDBDropdown>
有人可以帮我解决这个问题吗?
【问题讨论】:
-
去掉
shipmentFee.cost.map(....)周围的括号 -
@RamKrish2079 感谢您的回复,当我按照您的说法删除括号时,
unexpected token, expected ","错误消失了,但我仍然无法从 JSON 中获取cost.value,仅供参考,它出现在console.log -
考虑到
shipmentFees是您提供的 JSON,它应该可以工作
标签: javascript reactjs