在版本 4 中重定向不使用 react-router-dom 更新历史记录
Redirect not updating history with react-router-dom in version 4
我正在使用 react-router-dom
:
import { BrowserRouter as Router, Route } from 'react-router-dom';
<Provider store={store}>
<Router>
<App>
<Route path="/" exact component={Home} />
<Route path="/application" component={Application} />
</App>
</Router>
</Provider>,
document.getElementById('root')
);
我正在使用 <Redirect />
进行重定向,但仅当表单处于有效状态时:
</div>
{submitSucceeded && <Redirect to={nextLink} />}
但是当我转到下一个 link 并单击后退时,它会返回到该站点的路由,即历史记录没有被更新。
答案是用withRouter
,这里有一个link解释一下。
我认为正确的做法是使用 属性 推送设置为 true。如下:
{submitSucceeded && <Redirect to={nextLink} push={true} />}
您可以在文档页面上查看更多信息:
https://reacttraining.com/react-router/web/api/Redirect/push-bool
我正在使用 react-router-dom
:
import { BrowserRouter as Router, Route } from 'react-router-dom';
<Provider store={store}>
<Router>
<App>
<Route path="/" exact component={Home} />
<Route path="/application" component={Application} />
</App>
</Router>
</Provider>,
document.getElementById('root')
);
我正在使用 <Redirect />
进行重定向,但仅当表单处于有效状态时:
</div>
{submitSucceeded && <Redirect to={nextLink} />}
但是当我转到下一个 link 并单击后退时,它会返回到该站点的路由,即历史记录没有被更新。
答案是用withRouter
,这里有一个link解释一下。
我认为正确的做法是使用 属性 推送设置为 true。如下:
{submitSucceeded && <Redirect to={nextLink} push={true} />}
您可以在文档页面上查看更多信息:
https://reacttraining.com/react-router/web/api/Redirect/push-bool