Next.js 13应用目录错误页跳转首页问题求助
解决Next.js App Router错误页面无法重定向的问题
方案1:替换表单提交为按钮点击事件
你的代码中使用了表单的onSubmit事件,即使调用了e.preventDefault(),仍可能存在潜在的路由干扰。可以直接使用按钮的onClick事件,移除不必要的表单包裹:
"use client"; import Nav from "@/components/Nav"; import Wrapper from "@/components/Wrapper"; import { useRouter } from "next/navigation"; const Error = ({ error, reset }) => { const router = useRouter(); const handleGoBack = () => { console.log("go back"); router.replace("/?city=london"); }; return ( <div> <button onClick={handleGoBack}>go back</button> </div> ); }; export default Error;
方案2:使用router.replace()替代router.push()
在错误边界场景下,router.replace()比router.push()更可靠——它会直接替换当前的历史记录条目,避免用户通过返回按钮再次回到错误页面,而push()只是添加新条目,可能受错误状态限制无法生效。
内容的提问来源于stack exchange,提问作者Ali Issa
相关产品推荐
相关产品推荐

