我的 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
    })
  }
}

尝试使用 useEffectcomponentDidMount 进行重定向。

您也可以将 next/router 中的 router 与方法 router.replace('/login/verify') 一起用于重定向。

我建议检查一下 https://nextjs.org/docs/api-reference/next/router#usage 更多重定向示例