您好我正在使用erikras' react-redux-universal-hot-example
我的问题是,我正在尝试访问一个页面,让我们说" / chat"并且这样做我应该被重定向到" / login"页面因为它需要身份验证。完成身份验证后,我应该重定向回原来的网址,即" / chat"。
我试图使用onEnter钩子,但那不起作用。目前登录后我们将用户重定向到" / loginSuccess"页面默认(硬编码)
提前感谢所有帮助
答案 0 :(得分:2)
在这里,我将如何从高层面开始......
/login
时,请将当前路线添加到下一个路线的位置状态。/loginSuccess
时,请检查您最初传递的路线的位置状态,然后重定向到该位置。看起来像这样......
// function passed to the onEnter to handle authentication check
redirectIfNotLoggedIn(nextState, replace) {
if (notLoggedIn) {
replace({
pathname: '/login',
state: {
redirectTo: nextState.location.pathname
}
})
}
}
// function passed to the onenter to handle loginSucesss redirect
redirectAfterLoggedIn(nextState, replace) {
if(nextState.location.state.redirectTo) {
replace(nextState.location.state.redirectTo) // you might need to prepend '/'
}
}