我正在使用React和Next.js,并尝试使用无法使用该页面的数据从页面重定向用户Router.push('/another-page')
。
为此,我正在检查状态代码getInitalProps
并应用条件代码。看起来像这样:
const statusCode = action.currentArticle ? 200 : 404
if (isServer) res.statusCode = statusCode
if (statusCode === 404) {
Router.push('/')
}
状态代码已正确设置,并将其置于条件代码之内,这时我会遇到以下错误: No router instance found. You should only use "next/router" inside the client side of your app.
实际上,无论我尝试重定向的组件的生命周期事件在哪里,我都会遇到相同的错误,并且几乎没有关于此错误的在线信息。
重定向的模式getInitalProps
可以在以下next.js Wiki中找到:HERE
对此错误发生原因或解决方法的任何想法都值得赞赏;)
next / router在服务器上不可用,这是一条错误消息,提示找不到路由器,next / router只能在客户端使用。
为了在服务器中的getInitialProps中重定向用户,可以使用: