私は以下のようなルーターを持っています:
<Router history={hashHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="login" component={Login}/>
</Route>
</Router>
これが私が達成したいことです:
/login
ログインしていない場合は、ユーザーをにリダイレクトします- ユーザー
/login
がすでにログインしているときにアクセスしようとした場合は、rootにリダイレクトします/
今私は、ユーザーの状態を確認しようとしているApp
のcomponentDidMount
ような何かを、その後、:
if (!user.isLoggedIn) {
this.context.router.push('login')
} else if(currentRoute == 'login') {
this.context.router.push('/')
}
ここでの問題は、現在のルートを取得するためのAPIが見つからないことです。
このクローズされた問題は、Router.ActiveStateミックスインとルートハンドラーの使用が示唆されていることがわかりましたが、これら2つのソリューションは現在非推奨になっているようです。