Suspended synchronous input ⚛️ React

Error: A component suspended while responding to synchronous input.

A component suspended (lazy load or data fetch) during an update that wasn’t wrapped in a transition, and there is no Suspense boundary to catch it.

Seen on: React

Meaning

React 18 requires a <Suspense> boundary above components that suspend; for user-triggered updates use startTransition to keep the old UI visible.

Common causes

  • React.lazy component without a <Suspense> ancestor
  • Suspense-enabled data fetching (React Query suspense, Relay) without a boundary
  • Updates that suspend not wrapped in startTransition

⚡ Quick fix

  1. Wrap lazy/suspending components in <Suspense fallback={…}>
  2. Use startTransition for navigation-like updates

Detailed fix by platform

React

  1. jsx
    <Suspense fallback={<Spinner />}>
      <SettingsPage />
    </Suspense>

How to diagnose

  1. Component — Which one suspended?
  2. Boundary — Is there a Suspense above it?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.