#javascript #reactjs #api
#javascript #reactjs #API
Вопрос:
Я пытаюсь получить значения из поездов, таких как id и number, но когда я пытаюсь это сделать, значения не отображаются. Когда я пытаюсь утешить.регистрируйте, что я получаю ответ undefined. Он хорошо работает со станцией.имя и станция.город, но я не работаю со станцией.trains.is . Вот мой код:
class ListStation extends Component {
constructor(props) {
super(props)
this.state = {
stations: []
}
this.addStation = this.addStation.bind(this);
this.editStation = this.editStation.bind(this);
this.deleteStation = this.deleteStation.bind(this);
this.showTrains = this.showTrains.bind(this);
}
deleteStation(id) {
StationService.deleteStation(id).then(res => {
this.setState({ stations: this.state.stations.filter(station => station.id !== id) });
})
}
editStation(id) {
this.props.history.push(`/add-station/${id}`);
}
componentDidMount() {
StationService.getStations().then((res) => {
this.setState({ stations: res.data });
})
}
addStation() {
this.props.history.push('/add-station/_add');
}
showTrains() {
this.props.history.push('/show-train');
}
render() {
return (
<div>
<div className="row">
<table className="table table-striped table-bordered">
<tbody>
{this.state.stations.map(
station =>
<tr key={station.id}>
<td>{station.city}</td>
<td>{station.name}</td>
<td>{station.trains.id}</td>
{/* {console.log(station.trains.id)} */}
{console.log(station.name)}
)}
</tbody>
</table>
</div>
</div>
);
}
}
И вот ответ, который я получаю от API:
Ответ №1:
trains — это массив, и вы можете получить доступ к его элементам с Map
помощью или foreach
station.train.map(item=>item.id)
Комментарии:
1. Или trains.map({id}=>id)