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

时间:2020-09-07 12:27:45

标签: javascript reactjs next.js

我使用nextjs创建了一个404页面,该页面无需任何配置即可工作并显示我的自定义404页面。 我在此页面中有一个链接,可将用户重定向到另一个页面。在此新页面上,如果用户单击.proto,我想将它们发送回404之前的页面。 我看到了这个link,但没有地方使用back

我该怎么做?

router.push 通过单击第2页上的后退按钮,我要转到第1页而不是404页。

谢谢

1 个答案:

答案 0 :(得分:0)

要实现您想要的目标,可以使用router.replace

根据文档:

与next / link中的replace属性类似,router.replace将阻止在历史记录堆栈中添加新的URL条目。

要实际获取(和使用)路由器对象,可以使用NextJS随附的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>
  );
};

通过这种方式,转到第2页,将历史记录堆栈中的404条目替换为提供预期行为(working example here)的page2网址