如何使用react-router v4以编程方式从动作创建者导航?

时间:2017-01-16 13:26:05

标签: javascript reactjs redux react-router react-redux

我决定将我的React Router版本更新到版本4,但是我用这段代码打了一堵墙

export const loginUser = ({ emailOrUsername, password }) => {
return (dispatch) => {
    axios.post(`${ROOT_URL}/login`, { emailOrUsername, password })
      .then((res) => {
        dispatch({ type: AUTH_USER });
        localStorage.setItem('token', res.data.token);
        browserHistory.push('/feed'); // How do I do this in v4?
      })
      .catch(() => {
        dispatchAuthError('Incorrect log in details.');
      });
  };
};

似乎v4完全删除了browserHistory,我无法再简单地实现所需的转换。我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

现在,您可以从上下文中获取路由器对象并传递给商店。您可以阅读更多here

您也可以直接尝试使用history模块:

import { createHashHistory } from 'history'
const history = createHashHistory()
history.push('/feed')

查看this

答案 1 :(得分:0)

看看这个:Redirect

您可以使用此标记将其重定向到其他路线