javascript Next.JS 13,如何将用户从错误页重定向到主页

dgiusagp  于 2023-06-28  发布在  Java
关注(0)|答案(2)|浏览(177)

我正在尝试将用户从应用程序文件夹中的错误页面重定向回主页。我正在建立一个天气,所以如果用户输入了一个错误的城市,他应该能够回到主屏幕。我尝试使用路由器,但它不工作。错误页面返回首页

"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 = (e) => {
    e.preventDefault();
    console.log("go back");
    router.push(`/?city=london`);
  };
  return (
    <div>
      <form onSubmit={handleGoBack}>
        <button>go back</button>
      </form>
    </div>
  );
};

export default Error;

我也尝试使用next(),但它只是重试获取错误的城市。

cetgtptt

cetgtptt1#

Next 13有几个从next/navigation导出的助手,包括redirect。如果您想在服务器上重定向,则:

import { redirect } from 'next/navigation'

然后:
redirect('/?city=london')
但是你需要它在你的页面/动作。

xhv8bpkk

xhv8bpkk2#

import Link from "next/link";

// you dont need form, Link is enough
<Link 
     href={{
            pathname: "/",
            query: {
               city:"London"
            },
       }}
  >       
    Back to home
  </Link>

相关问题