无法读取未定义的 ReactJS 的 属性 'number'
Cannot read property 'number' of undefined ReacJS
我正在使用 ReactJS 作为我的应用程序的前端。我从 API 获取值,但是当我尝试获取它们时出现错误“无法读取 属性 未定义的数量”。这是我的代码:
class ViewStationComponent extends Component {
constructor(props) {
super(props)
this.state = {
id: this.props.match.params.id,
station: {}
}
}
componentDidMount() {
StationService.getStationById(this.state.id).then(res => {
this.setState({ station: res.data });
console.log(res.data);
})
}
render() {
return (
<div>
<div>{this.state.station.name}</div>
<h1>{this.state.station.trains.number}}</h1>
</div>
);
}
}
这是响应,我尝试获取的值是 number 和 numberOfCarriages。
更改为:
render() {
return (
<div>
<div>{this.state.station?.name}</div>
<h1>{this.state.station?.trains[0]?.number}}</h1>
</div>
);
}
您的 trains
属性 是一个数组,您可以这样做:
<h1>{this.state.station.trains[0].number}</h1>
如果您使用地图,请记住可能有不止 1 列火车。
render() {
return (
<div>
<div>{this.state.station.name}</div>
{this.state.station.trains.map(train => <h1 key={train.id}>train.number<h1>)}
</div>
);
}
我正在使用 ReactJS 作为我的应用程序的前端。我从 API 获取值,但是当我尝试获取它们时出现错误“无法读取 属性 未定义的数量”。这是我的代码:
class ViewStationComponent extends Component {
constructor(props) {
super(props)
this.state = {
id: this.props.match.params.id,
station: {}
}
}
componentDidMount() {
StationService.getStationById(this.state.id).then(res => {
this.setState({ station: res.data });
console.log(res.data);
})
}
render() {
return (
<div>
<div>{this.state.station.name}</div>
<h1>{this.state.station.trains.number}}</h1>
</div>
);
}
}
这是响应,我尝试获取的值是 number 和 numberOfCarriages。
更改为:
render() {
return (
<div>
<div>{this.state.station?.name}</div>
<h1>{this.state.station?.trains[0]?.number}}</h1>
</div>
);
}
您的 trains
属性 是一个数组,您可以这样做:
<h1>{this.state.station.trains[0].number}</h1>
如果您使用地图,请记住可能有不止 1 列火车。
render() {
return (
<div>
<div>{this.state.station.name}</div>
{this.state.station.trains.map(train => <h1 key={train.id}>train.number<h1>)}
</div>
);
}