我正在使用 Next.js 15,需要从 URL 中提取参数。我可以使用以下方法在客户端执行此操作:
const searchParams = useSearchParams();
const email = searchParams.get('email');
但是,这种方法需要在客户端渲染页面,而我想保留服务器端渲染的页面来使用:
export const metadata: Metadata = {}
有没有办法在仍然使用元数据的同时访问服务器端的 URL 参数?我怎样才能实现这个设置?
在您的
page.tsx
中将searchParams作为道具。请记住,在 NextJS 15 中,这是 async
(a Promise
),因此您需要 await
。
export default async function Page({
searchParams,
}: {
searchParams: Promise<{ [key: string]: string | string[] | undefined }>
}) {
const filters = (await searchParams).filters
}