다음과 같은 라우터가 있습니다.
<Router history={hashHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="login" component={Login}/>
</Route>
</Router>
내가 달성하고 싶은 것은 다음과 같습니다.
/login
로그인하지 않은 경우 사용자를로 리디렉션- 사용자
/login
가 이미 로그인 한 상태에서 액세스를 시도한 경우 루트로 리디렉션합니다./
그래서 지금은에서 사용자의 상태를 확인하기 위해 노력하고있어 App
S ' componentDidMount
, 무언가를 좋아한다 :
if (!user.isLoggedIn) {
this.context.router.push('login')
} else if(currentRoute == 'login') {
this.context.router.push('/')
}
여기서 문제는 현재 경로를 가져 오는 API를 찾을 수 없다는 것입니다.
Router.ActiveState mixin 및 라우트 핸들러를 사용하여 제안 된 이 닫힌 문제를 발견 했지만이 두 솔루션은 이제 더 이상 사용되지 않는 것 같습니다.