Next.js 15 async page params – TypeError fix
Used in this guide:Next.js 15
Vercel
Error:
Type error: Type '{ params: { slug: string[]; }; }' does not satisfy the constraint 'PageProps'.
Reason:
The error occurs because in Next.js 15+, params and searchParams are now Promise objects in async page components. This means you can no longer destructure them directly — you must await them first.
From NExt.js 15 onward, if your page.tsx is async, then params and searchParams are now Promises.
Ref: Next.js Asynchronous PageYou must:
- Accept them as Promises
- Await them before using
This will break in Next.js 15 when used in an async function.
export default async function Page({ params }: { params: { slug: string[] }}) {}Solution
export default async function Page(props: {
params: Promise<{ slug: string[] }>;
}) {
const { slug } = await props.params;
//...remaining code
}