Ich habe einen Router wie unten:
<Router history={hashHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="login" component={Login}/>
</Route>
</Router>
Folgendes möchte ich erreichen:
- Leiten Sie den Benutzer zu weiter,
/login
wenn er nicht angemeldet ist - Wenn der Benutzer versucht hat, auf ihn zuzugreifen,
/login
wenn er bereits angemeldet ist, leiten Sie ihn an root weiter/
so jetzt versuche ich , Benutzer-Zustand zu lesen App
ist componentDidMount
, dann so etwas wie:
if (!user.isLoggedIn) {
this.context.router.push('login')
} else if(currentRoute == 'login') {
this.context.router.push('/')
}
Das Problem hier ist, dass ich die API zum Abrufen der aktuellen Route nicht finden kann.
Ich fand dieses geschlossene Problem mit der Verwendung von Router.ActiveState-Mixin- und Routen-Handlern vorgeschlagen, aber es sieht so aus, als wären diese beiden Lösungen jetzt veraltet.