在我的 NextJS 项目中,我有一个路由(“/dashboard”),它是一个服务器组件,我想根据某些条件使用户重定向到主页(“/”),但我没有成功。
我尝试了多种方法,但没有任何效果:
这是page.js中的代码:
import jwt from "jsonwebtoken";
import { cookies } from "next/headers";
import { NextResponse } from "next/server";
import { NextResponse } from "next/server";
const page = async () => {
const token = cookies().get("token");
try {
const decoded = jwt.verify(token.value, process.env.TOKEN_SECRET);
console.log(decoded);
} catch (err) {
console.log(err);
//! First Approach
const baseUrl = "http://localhost:3000";
const url = new URL("/", baseUrl);
return NextResponse.redirect(url);
//! Second Approach
// const baseUrl = "http://localhost:3000";
// const url = new URL("/", baseUrl);
// redirect(url);
//! Third Approach
// redirect("/");
}
return <div></div>;
};
export default page;
有时它会给我一个错误或什么都不做,但它根本没有重定向我。谁能帮我从服务器组件重定向吗?
将重定向函数放在 try catch 块之外
try {
}
catch (e){
}
redirect("/home")