fix: await params promise in Next.js 16

This commit is contained in:
张翔
2026-02-26 18:38:00 +08:00
parent 1c5ec4d663
commit 87719f318f
3 changed files with 21 additions and 17 deletions
+6 -4
View File
@@ -11,8 +11,9 @@ export async function generateStaticParams() {
}));
}
export async function generateMetadata({ params }: { params: { slug: string } }) {
const news = NEWS.find((n) => n.id === params.slug);
export async function generateMetadata({ params }: { params: Promise<{ slug: string }> }) {
const { slug } = await params;
const news = NEWS.find((n) => n.id === slug);
if (!news) {
return {
@@ -26,8 +27,9 @@ export async function generateMetadata({ params }: { params: { slug: string } })
};
}
export default function NewsDetailPage({ params }: { params: { slug: string } }) {
const news = NEWS.find((n) => n.id === params.slug);
export default async function NewsDetailPage({ params }: { params: Promise<{ slug: string }> }) {
const { slug } = await params;
const news = NEWS.find((n) => n.id === slug);
if (!news) {
notFound();
+6 -4
View File
@@ -10,8 +10,9 @@ export async function generateStaticParams() {
}));
}
export async function generateMetadata({ params }: { params: { id: string } }) {
const product = PRODUCTS.find((p) => p.id === params.id);
export async function generateMetadata({ params }: { params: Promise<{ id: string }> }) {
const { id } = await params;
const product = PRODUCTS.find((p) => p.id === id);
if (!product) {
return {
@@ -25,8 +26,9 @@ export async function generateMetadata({ params }: { params: { id: string } }) {
};
}
export default function ProductDetailPage({ params }: { params: { id: string } }) {
const product = PRODUCTS.find((p) => p.id === params.id);
export default async function ProductDetailPage({ params }: { params: Promise<{ id: string }> }) {
const { id } = await params;
const product = PRODUCTS.find((p) => p.id === id);
if (!product) {
notFound();