useState server component Next.js

useState only works in Client Components

Quick Answer

You used a hook in a server component without 'use client'.

Why This Happens

In Next.js, you used a hook in a server component without 'use client'. 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

import { useState } from 'react';
export default function Page() {
  const [x] = useState(0);
}

The Fix

'use client';
import { useState } from 'react';
export default function Page() {
  const [x] = useState(0);
}

Step-by-Step Fix

  1. 1

    Identify the error

    Look at the error message: useState only works in Client Components. 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