javascript - 从 JSON ReactJS 中的 JSON 数组中获取值
问题描述
我正在尝试从 JSON 中获取如下所示的值:
{
"id": 371,
"city": "London",
"name": "London Station",
"trains": [
{
"id": 375,
"number": "1023",
"numberOfCarriages": "21"
}
]
}
我想从火车中获取值,例如 number 和 numberOfCarriages。我正在尝试在 React 中获取这些值。我的反应代码:
class ViewTrainsComponent extends Component {
constructor(props) {
super(props)
this.state = {
id: this.props.match.params.id,
station: []
}
}
render() {
return (
<div>
<div className="row">
{/* <div>{this.state.station[0].trains[0].number}</div> */}
</div>
</div>
);
}
}
我做对了吗?如何在渲染函数中获取这些值?
编辑。
解决方案
避免直接设置和更新状态
this.state = ...
除非您在构造函数中对其进行初始化。相反,使用setState( ) 函数或useState 钩子。
但我认为你的问题更多是关于如何在渲染函数中获取火车的值,你可以访问这些作为
render() {
return <div>{this.state.stations[i].trains[j].number}</div>
}
因此对于第一站的第一列火车 i=0 和 j=0 以及第一站的第二列火车 i=0 和 j=1。第二站的第一列火车 i=1 和 j=0 以及第一站的第二列火车 i=1 和 j=1。
推荐阅读
- r - RCurl::getURL 在循环运行时偶尔会失败
- javascript - 将值添加到映射数组
- flutter - 孩子中的手势检测器阻止了网页浏览中的转换
- ruby-on-rails - 将 Docker Rails 6 应用程序部署到 AWS ECS 时出现与 RDS 相关的错误
- html - 将 aria-selected 的值传递给方法
- android-tv - 覆盖 lb_fullwidth_details_overview_logo 后,leanback 海报失去了位置
- docker - 烧瓶/gunicorn 服务在物理机上运行良好,但在 docker 中连接松散,即使设置了超时
- angular - 当我使用按钮时如何使滑动角度列表响应
- mysql - 我正在尝试匹配没有主键的不同表
- oracle12c - oracle jdbc 驱动程序 - 列的可空性