Reactjs React从redux操作重定向到另一个路由

Reactjs React从redux操作重定向到另一个路由,reactjs,redux,react-router,react-redux,redux-saga,Reactjs,Redux,React Router,React Redux,Redux Saga,我使用Redux进行状态管理,使用saga作为中间件。该应用程序运行良好。我有一个有几个搜索字段的组件。以下是表格的简化版本: <div> <form onSubmit={this.handleSubmit} noValidate> <div> <div > <label> ORIGIN City </label> <br/>

我使用Redux进行状态管理,使用saga作为中间件。该应用程序运行良好。我有一个有几个搜索字段的组件。以下是表格的简化版本:

 <div>
    <form onSubmit={this.handleSubmit} noValidate>
      <div>
        <div >
          <label> ORIGIN City </label>
          <br/>

          <select name="originCity" onChange={this.handleChange}>
            {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.handleChange}>
            {this.props.airportData.map(airport => (
              <option key={airport.key} value={airport.key}> {airport.name}</option>
            ))}
          </select>

起源城市

{this.props.airportData.map(airport=>( {airport.name} ))} 目的地城市
{this.props.airportData.map(airport=>( {airport.name} ))}

在提交时,我调用一个操作(该操作反过来调用api),该操作将搜索始发地和目的地之间的航班。要求是如果api没有返回任何数据,我需要留在同一个组件上并显示错误消息,但是如果api返回结果,我需要导航到另一个路由。我知道我可以从一个操作导航到另一个路由,但是如何显示从api返回的数据而不调用api两次呢


非常感谢您提供的任何帮助。

欢迎来到Stackowerflow!返回的数据应该在您的存储中,以便您可以在导航后使用选择器访问它。感谢您的回复。如果用户只是使用查询参数在浏览器中键入url(路由),我还需要实现这一点。例如我不知道用户访问此url是因为有人在电子邮件中向他们发送了url,还是因为他们从搜索组件路由到此组件。对于查询参数,请查看使用“ownParams”以及react router如何允许您定义路由,例如“/searchResults/:originCity/:destinationCity”。