我的 Next.JS-Redux 应用一次编译 2 个页面
My Next.JS-Redux app compiles 2 page at once
使用 window.location.href
重定向后,我在终端上得到了这些编译结果
wait - compiling /login/verify (client and server)...
wait - compiling /login (client and server)...
它应该转到 /login/verify,但因此返回到 /login。
这是我的重定向代码:
componentWillReceiveProps(nextProps) {
if(nextProps.authCode == '0')
{
// redirect to homepage
setTimeout(() => {
window.location.href = '/'
}, 2000)
} else if(nextProps.authCode == '20') {
setTimeout(() => {
window.location.href = '/register/verify'
}, 2000)
} else if(nextProps.authCode == '30')
{
setTimeout(() => {
window.location.href = '/login/verify'
}, 2000)
} else {
this.setState({
alertLoading: false,
alertFailed: true,
alertMsg: nextProps.authInfo
})
}
}
尝试使用 useEffect
或 componentDidMount
进行重定向。
您也可以将 next/router
中的 router
与方法 router.replace('/login/verify')
一起用于重定向。
我建议检查一下 https://nextjs.org/docs/api-reference/next/router#usage
更多重定向示例
使用 window.location.href
重定向后,我在终端上得到了这些编译结果wait - compiling /login/verify (client and server)...
wait - compiling /login (client and server)...
它应该转到 /login/verify,但因此返回到 /login。
这是我的重定向代码:
componentWillReceiveProps(nextProps) {
if(nextProps.authCode == '0')
{
// redirect to homepage
setTimeout(() => {
window.location.href = '/'
}, 2000)
} else if(nextProps.authCode == '20') {
setTimeout(() => {
window.location.href = '/register/verify'
}, 2000)
} else if(nextProps.authCode == '30')
{
setTimeout(() => {
window.location.href = '/login/verify'
}, 2000)
} else {
this.setState({
alertLoading: false,
alertFailed: true,
alertMsg: nextProps.authInfo
})
}
}
尝试使用 useEffect
或 componentDidMount
进行重定向。
您也可以将 next/router
中的 router
与方法 router.replace('/login/verify')
一起用于重定向。
我建议检查一下 https://nextjs.org/docs/api-reference/next/router#usage 更多重定向示例