在actioncreator和react-router v.4中重定向使用历史记录

时间:2017-04-01 15:11:50

标签: react-router-v4

我正在尝试在调用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',但相关组件没有出现。 请帮我弄清楚。

1 个答案:

答案 0 :(得分:0)

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

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

然后,在您的action.js(或actions/index.js中,根据您的喜好):

import history from './history';
history.push('/your_route');