Eu tenho um roteador como abaixo:
<Router history={hashHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="login" component={Login}/>
</Route>
</Router>
Aqui está o que eu quero alcançar:
- Redirecionar o usuário para
/login
se não estiver conectado - Se o usuário tentou acessar
/login
quando já estava logado, redirecione-o para o root/
agora estou tentando verificar o estado do usuário em App
's componentDidMount
, e fazer algo como:
if (!user.isLoggedIn) {
this.context.router.push('login')
} else if(currentRoute == 'login') {
this.context.router.push('/')
}
O problema aqui é que não consigo encontrar a API para obter a rota atual.
Descobri que este problema encerrado sugeria o uso de mixin Router.ActiveState e manipuladores de rota, mas parece que essas duas soluções agora estão obsoletas.