我有一个如下所示的路由器:
<Router history={hashHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="login" component={Login}/>
</Route>
</Router>
以下是我想要实现的目标:
/login
如果未登录/login
,请将其重定向到根用户因此,现在我尝试在App
的componentDidMount
中检查用户的状态,然后执行如下操作:
if (!user.isLoggedIn) {
this.context.router.push('login')
} else if(currentRoute == 'login') {
this.context.router.push('/')
}
这里的问题是我找不到获取当前路由的API。
我发现this closed issue建议使用Router.ActiveState混合和路由处理程序,但看起来这两种解决方案现在已被弃用。
https://stackoverflow.com/questions/35031911
复制相似问题