在React Router(v3)中,我可以接受服务器响应并使用browserHistory.push转到相应的响应页面 . 但是,这在v4中不可用,我不确定在React-Router V4中处理此问题的适当方法是什么 .
在下面的示例中,当服务器返回成功时,用户将进入Cart页面
// actions / index.js
export function addProduct(props) {
return dispatch =>
axios.post(`${ROOT_URL}/cart`, props, config)
.then(response => {
dispatch({ type: types.AUTH_USER });
localStorage.setItem('token', response.data.token);
browserHistory.push('/cart'); // no longer in React Router V4
});
}
如何从React Router v4中的功能重定向到页面?
我可以在我的案例中找到很多关于导航的参考资料,我需要从一个函数导航
1 回答
如果你想要程序路由器到某个地方,使用 history 是最好的解决方案,这里的问题是如何在组件中获取 history 对象:
Route :使用 Route 渲染组件
WithRouter :wrap组件:
class yourcomponent extends Component {}
withRouter()(yourcomponent)
如果你想在 Redux 中这样做,那么你可以试试 React-Router-Redux