繁体   English   中英

nextjs 从 404 之后的页面返回到 404 之前的页面

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM