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 Page

You 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

Next.js 15
export default async function Page(props: {
    params: Promise<{ slug: string[] }>;
}) {
    const { slug } = await props.params;
    //...remaining code
}

JKT

Stay focused, and the rest will follow

©Jakkrit Turner. All rights reserved