Event handlers cannot be passed to Client Component props.

Server-komponenter kan inte skicka event-handlers som `onClick` som props till klientkomponenter.

Förklaring

Server-komponenter körs på servern och kan inte skicka funktioner som props till klientkomponenter. Funktioner kan inte serialiseras och skickas över nätverket. Det här felet visas när en server-komponent försöker skicka en event-handler, som onClick eller onChange, till en klientkomponent.

I Next.js App Router är interaktivitet alltid klientens ansvar. En server-komponent kan rendera en klientkomponent och skicka statiska data som props, men logik och event-hantering måste leva i klientkomponenten.

Felet är vanligt när man strukturerar om kod från Pages Router eller när man delar en komponent till server- och klientdelar.

Vanliga orsaker

En server-komponent skickar onClick, onChange, eller annan event-handler som prop. En server-komponent skickar en callback-funktion som prop.

Lösning

Flytta event-logiken innanför klientkomponenten själv:

// Fel: server-komponent skickar handler
// app/page.js (server-komponent)
export default function Page() {
  return <Button onClick={() => console.log('klick')} />;
}

// Rätt: logiken bor i klientkomponenten
// components/Button.js
'use client';
export default function Button({ label }) {
  return <button onClick={() => console.log('klick')}>{label}</button>;
}