[英]nextjs get back to page before 404 from page after 404
我使用 nextjs 创建了一个 404 页面,该页面无需任何配置即可工作并显示我的自定义 404 页面。 我在此页面中有一个链接,可将用户重定向到另一个页面。 在这个新页面上,如果用户点击back
我想在 404 之前将他们发送回页面。我看到了这个链接,但我没有在任何地方使用router.push
。
我怎样才能做到这一点?
page1>404page>page2
通过单击page1>404page>page2
的后退按钮我想转到 page1 而不是 404page。
谢谢
为了实现你想要的,你可以使用router.replace
。
根据文档:
类似于 next/link 中的 replace 属性,router.replace 将阻止向历史堆栈中添加新的 URL 条目。
要实际获取(和使用)路由器对象,您可以使用useRouter
提供的useRouter
对象。 因此,您的 404 页面可能如下所示:
import { useRouter } from "next/router";
export default () => {
const router = useRouter();
return (
<div>
<h3>404</h3>
<h2>
Try go here instead:{" "}
<span onClick={() => router.replace("/page2")}>Go page2</span>
</h2>
</div>
);
};
这样,通过转到 page2,您可以用 page2 url 替换历史堆栈中的 404 条目,该 url 提供您期望的行为(此处的工作示例)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.