最佳答案
我有一个像下面这样的路由器:
<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。
我发现 这个封闭的问题建议使用路由器。ActiveStateMixin 和路由处理程序,但是这两个解决方案现在似乎已经不被推荐使用了。