NextJs:404页面后退按钮返回到404页面

时间:2020-01-27 06:27:25

标签: javascript reactjs next.js

我的生命周期方法中有一个条件,即 user 页面,这样,如果用户输入带有某些参数(例如somePage.com/user/1)的URL,则会获取ID为1的用户数据但是,如果用户输入的网址为somePage.com/user/1ABC,则将其路由到自定义404页面。我的问题是,当我在404页的页面上单击“后退”按钮时,会将我带回到URL为somePage.com/user/1ABC的页面,然后将其路由回到同一404页,因为URL参数满足了生命周期用户页面的方法。

如果用户进入404页并单击浏览器的后退按钮,我希望将其路由到其他URL。

1 个答案:

答案 0 :(得分:0)

Router.push会将新的URL添加到历史记录堆栈中,但是,Router.replace将重定向到404页,而不会在历史记录堆栈中添加新的URL条目。因此,后退按钮将重定向到历史记录堆栈中最后一个成功的条目,https://nextjs.org/docs/api-reference/next/router#routerreplace给出了一个清晰的示例。