useSearchParams Suspense Next.js

useSearchParams should be wrapped in Suspense

Quick Answer

useSearchParams causes a static page to bail to client-side rendering.

Why This Happens

In Next.js, usesearchparams causes a static page to bail to client-side rendering. This is one of the most common Next.js errors developers encounter. Understanding the root cause helps you fix it quickly and prevent it from recurring.

The Problem

export default function Page() {
  const params = useSearchParams();
}

The Fix

import { Suspense } from 'react';
export default function Page() {
  return <Suspense><Inner /></Suspense>;
}
function Inner() {
  const params = useSearchParams();
}

Step-by-Step Fix

  1. 1

    Identify the error

    Look at the error message: useSearchParams should be wrapped in Suspense. This tells you exactly what went wrong.

  2. 2

    Find the cause

    Check the stack trace to find which line of your Next.js code triggered this error.

  3. 3

    Apply the fix

    Use the corrected code pattern shown above. Test to confirm the error is resolved.

Bugsly catches this automatically

Bugsly's AI analyzes this error pattern in real-time, explains what went wrong in plain English, and suggests the exact fix — before your users even report it.

Try Bugsly free