Q36: What is the difference between params and searchParams props in page components?

  • params: Contains dynamic route path segments defined in folder names (e.g., /posts/[id] -> { id: '123' }).
  • searchParams: Contains URL query string parameters (e.g., /shop?category=shoes -> { category: 'shoes' }). In Next.js 15+, both params and searchParams are asynchronous Promises.
Awaiting params and searchParams in Next.js 15+
// app/shop/[category]/page.js
export default async function Page({ params, searchParams }) {
  const { category } = await params;
  const { sort } = await searchParams;
  return <div>Category: {category} | Sort By: {sort}</div>;
}
💡 params and searchParams must be awaited prior to accessing properties in Next.js 15+.
Key Takeaways
  • params resolves path segments; searchParams resolves URL query variables.
  • In Next.js 15+, await params and searchParams before reading properties.
Knowledge Check

What breaking change was introduced regarding params and searchParams props in Next.js 15?