Я студент, работающий над проектом, и у меня есть только базовое c понимание принципов программирования. это проект реакции, который захватывает данные о прибытии поездов в реальном времени как объект JSON, а затем позволяет пользователю выбрать прибытие в сохраненный список.
Я могу получить данные, и отображение в порядке с приведенным ниже кодом,
getArrivals(){
fetch(`https://transportapi.com/v3/uk/train/station/${this.state.stationname}/live.json?app_id=********&app_key=**********************************&darwin=false&train_status=passenger&type=arrival`)
.then(arrivals => arrivals.json())
.then(data => this.setState({ arrivals : data.arrivals.all }));
}
и отобразить список выбора с этим,
<form onSubmit={this.saveArrival} onChange={this.savedArrival}>
<select> value={this.state.arrivals.map(arrival => (
<option key={arrival.origin_name} > {arrival.aimed_arrival_time} From: {arrival.origin_name} Status: {arrival.status} Expected arrival time: {arrival.expected_arrival_time}</option>
)) }</select>
<p>select arrival to save</p>
<input type='submit' />
</form>
Я могу сохранить отправленные данные в переменную состояния с именем selectedArrivals, однако она сохраняется как строка. с,
saveArrival = (event) => {
event.preventDefault();
let selArrive = JSON.stringify(this.state.selectedArrival);
alert("You have saved arrival : " + this.state.selectedArrival);
console.log(this.state.selectedArrival)
}
и
savedArrival = (event) => {
event.preventDefault();
const selectedIndex = event.target.options.selectedIndex;
this.setState({Schedlued_time:
event.target.options[selectedIndex].getAttribute('aimed_arrival_time')});
this.setState({selectedArrival: [event.target.value]});
}
Я хотел бы сохранить event.target.value как объект JSON, чтобы затем отправить его в облачную базу данных. такие элементы, как «ожидаемое время прибытия», должны быть идентификаторами, чтобы я мог отсортировать их в базе данных.
я уверен, что есть способ сделать это, но просто не вижу, как этого добиться. любая помощь или совет будут очень благодарны.