Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用react router v4从动作创建者进行编程导航?_Javascript_Reactjs_Redux_React Router_React Redux - Fatal编程技术网

Javascript 如何使用react router v4从动作创建者进行编程导航?

Javascript 如何使用react router v4从动作创建者进行编程导航?,javascript,reactjs,redux,react-router,react-redux,Javascript,Reactjs,Redux,React Router,React Redux,我决定将React路由器的verison更新到第4版,但这段代码让我大吃一惊 export const loginUser = ({ emailOrUsername, password }) => { return (dispatch) => { axios.post(`${ROOT_URL}/login`, { emailOrUsername, password }) .then((res) => { dispatch({ type: AU

我决定将React路由器的verison更新到第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
,我再也不能简单地实现所需的转换。我错过什么了吗

看看这个:


您可以使用此标记将它们重定向到另一个路由

,因为现在您可以从上下文中获取路由器对象并传递到存储。你可以读更多

您还可以尝试直接使用
历史记录
模块:

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

查看

我最初确实查看了重定向,但它涉及到在我的动作创建者中呈现一个组件,我想避免。谢谢,我只是直接使用了历史记录,这不是一个更常见的问题,因为动作创建者应该是编写重定向逻辑的主要位置。