我决定将我的 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
,我无法再简单地实现所需的转换。我错过了什么吗?
最佳答案
现在,您可以从上下文中获取路由器对象并将其传递给存储。您可以阅读更多here
您也可以尝试直接使用history
模块:
import { createHashHistory } from 'history'
const history = createHashHistory()
history.push('/feed')
看看this
关于javascript - 如何使用 React-router v4 以编程方式从操作创建器进行导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41677474/