我按照这个例子:
https://github.com/ReactTraining/react-router/blob/v3/examples/auth-flow/app.js
我希望阻止用户在login
之后导航loggedIn
路由器。
我尝试将requireAuth
置于onEnter
路由器的login
。
但是,当用户第一次访问该页面时,它们不是loggedIn
,并且会导致无限循环。
在我的情况下如何摆脱循环? 这是我的代码:
{
path: 'login',
component: Login,
onEnter: (nextState, replace) => {
if(!auth.loggined) {
replace({
pathname: '/login',
state: {
nextPathname: nextState.location.pathname
}
})
} else {
replace('/')
}
}
}
答案 0 :(得分:0)
为什么要尝试将requireAuth
添加到login
页面?
我相信你的onEnter
应该是这样的
if(loggedIn){
replace({
pathname: '/'
})
}
仅此而已,如果您想阻止对经过身份验证的用户访问此页面。