0

在调用 API 并收到响应后,我正在尝试以编程方式在动作创建者中导航。我做了什么:我用这段代码创建了一个文件utils/History.js :

import createBrowserHistory from 'history/createBrowserHistory';
export default createBrowserHistory();

然后在动作创建者中使用它:

import History from '../../utils/History';
//some code
History.replace('/sign-in');

当然,我让相关组件知道这个路由。如果我使用<NavLink to='/sign-in'>,它可以工作。但是如果我想在 History.replace('/sign-in') 或 History.push('/sign-in') 上渲染这个组件,我可以在地址栏中看到 'localhost:8080/sign-in',但没有出现相关组件。请帮我弄清楚。

4

1 回答 1

0

最简单的方法是创建一个history.js文件:

import createHistory from 'history/createBrowserHistory';
export default createHistory();

然后,在您的action.js(或actions/index.js,无论您喜欢什么):

import history from './history';
history.push('/your_route');
于 2018-07-18T15:46:02.827 回答