为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬指点哈!react-router4怎么在非组件内进行路由跳转

求大佬指点哈!react-router4怎么在非组件内进行路由跳转

千万里不及你 2019-08-05 22:51:56
在axios的请求拦截里需要做路由跳转,不在组件内部尝试使用importcreateHistoryfrom'history/createBrowserHistory'createHistory().push('/path')这个方式,url会变化,页面不会更新
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

使用connected-react-redux,将store传入进去,直接
import{push}from'connected-redux-router'
store.dispatch(push('/path'))
直接使用使用window.location='/xxx'跳转
传入history在创建Router对象传入的history对象
                            
查看完整回答
反对 回复 2019-08-05
?
慕森王

TA贡献1777条经验 获得超3个赞

我也遇到这个问题了,我是这么解决的,在根组件(App.jsx)中将history挂到windows上,这样在任意地方都能通过windows获取history对象,然后就能正常跳转了。
//App.jsx
constructor(props){
super(props);
this.state={};
window.reactHistory=this.props.history;
}
//任意地方使用window.reactHistory.push("/")
                            
查看完整回答
反对 回复 2019-08-05
  • 2 回答
  • 0 关注
  • 498 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信