Tengo un enrutador como el siguiente:
<Router history={hashHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="login" component={Login}/>
</Route>
</Router>
Esto es lo que quiero lograr:
- Redirigir al usuario a
/login
si no ha iniciado sesión - Si el usuario intentó acceder
/login
cuando ya había iniciado sesión, redirigirlo a la raíz/
así que ahora estoy tratando de comprobar el estado del usuario en App
's componentDidMount
, y luego hacer algo como:
if (!user.isLoggedIn) {
this.context.router.push('login')
} else if(currentRoute == 'login') {
this.context.router.push('/')
}
El problema aquí es que no puedo encontrar la API para obtener la ruta actual.
Encontré que este problema cerrado sugería usar Router.ActiveState mixin y controladores de ruta, pero parece que estas dos soluciones ahora están en desuso.