Я использую Redux для управления состоянием и саги в качестве промежуточного программного обеспечения. Приложение работает нормально. У меня есть компонент с несколькими полями поиска. Ниже представлена упрощенная версия формы:
<div>
<form onSubmit = {this.handleSubmit} noValidate>
<div>
<div >
<label> ORIGIN City </label>
<br/>
<select name = "originCity" onChange = {this.handleChangeEvent}>
{this.props.airportData.map(airport => (
<option key = {airport.key} value = {airport.key}> {airport.name}</option>
))}
</select>
</div>
<div c>
<label> DESTINATION City </label>
<br/>
<select name = "destinationCity"
onChange = {this.handleChangeEvent}>
{this.props.airportData.map(airport => (
<option key = {airport.key} value = {airport.key}> {airport.name}</option>
))}
</select>
При отправке я вызываю действие (которое, в свою очередь, вызывает api), которое будет искать рейсы между пунктом отправления и пунктом назначения. Требование состоит в том, что если api не возвращает данных, мне нужно оставаться на том же компоненте и отображать сообщение об ошибке, но если api возвращает результат, мне нужно перейти на другой маршрут. Я знаю, что могу перейти к другому маршруту из действия, но как мне отобразить данные, возвращенные из api, без двойного вызова api?
Любая помощь по этому поводу будет высоко оценена?
Спасибо за ваш ответ. Мне также нужно, чтобы эта работа работала, если пользователь просто вводит URL-адрес (маршрут) в браузере с параметрами запроса. Например someurl / searchResults? originCity = xyz и destinationCity = abc. Я бы не знал, переходит ли пользователь на этот URL-адрес, потому что кто-то отправляет ему URL-адрес в электронном письме, или они перенаправляются на этот компонент из компонента поиска.
Для параметров запроса изучите использование ownParams и то, как response-router позволяет вам определять маршруты, такие как «/ searchResults /: originCity /: destinationCity».





Добро пожаловать в Stackowerflow! Возвращенные данные должны быть в вашем магазине, чтобы вы могли получить к ним доступ после навигации с помощью селектора.