Javascript 如何使用react router v4从动作创建者进行编程导航?
我决定将React路由器的verison更新到第4版,但这段代码让我大吃一惊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
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')
查看我最初确实查看了重定向,但它涉及到在我的动作创建者中呈现一个组件,我想避免。谢谢,我只是直接使用了历史记录,这不是一个更常见的问题,因为动作创建者应该是编写重定向逻辑的主要位置。