Error: Only plain objects can be passed to Client Components from Server Components. ... is not supported.

Bara JSON-serialiserbara värden kan skickas som props från server- till klientkomponenter.

Förklaring

Props som skickas från en server-komponent till en klientkomponent måste serialiseras till JSON för transport från servern till klienten. Typer som Date, BigInt, Map, Set, och funktioner kan inte serialiseras automatiskt.

Det är ett fundamentalt krav i React Server Components-modellen: gränsen mellan server och klient är en serialiseringsgräns. Det som inte kan serialiseras kan inte passera den.

Vanliga orsaker

En Date-instans skickas direkt som prop till en klientkomponent. Map eller Set skickas som prop. undefined-värden i objekt serialiseras bort av JSON.stringify.

Lösning

Konvertera till JSON-kompatibla typer innan data skickas som props:

// Fel — Date kan inte serialiseras
export default async function Page() {
  const post = await getPost();
  return <ArticleClient publishedAt={post.date} />;
}

// Rätt — konvertera till ISO-sträng
export default async function Page() {
  const post = await getPost();
  return <ArticleClient publishedAt={post.date.toISOString()} />;
}

För BigInt används .toString(). För Map och Set används Array.from().