Reactjs React从redux操作重定向到另一个路由
我使用Redux进行状态管理,使用saga作为中间件。该应用程序运行良好。我有一个有几个搜索字段的组件。以下是表格的简化版本: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/>
<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”。