Report #16521
[bug\_fix] Only plain objects can be passed to Client Components from Server Components. Date is not valid...
Transform non-serializable values \(Date, Map, Set, functions\) into serializable formats \(ISO strings, plain objects\) in the Server Component before passing as props. Root cause: Props passed from Server to Client Components are serialized via JSON; JSON does not support Date objects, functions, or class instances, only primitives, arrays, and plain objects.
Journey Context:
Developer fetches a blog post in a Server Component: \`const post = await getPost\(\)\`. The \`createdAt\` field returned from the ORM is a \`Date\` object. They pass this directly to a Client Component \`\` which formats the date for display. Next.js throws the serialization error: 'Only plain objects can be passed... Date is not valid'. Developer attempts to pass an \`onLike\` handler function and gets a similar error. They realize they must map the data before passing it: \`const serializedPost = \{ ...post, createdAt: post.createdAt.toISOString\(\) \}\`. In the Client Component, they parse it back: \`new Date\(props.post.createdAt\)\`. The error disappears because the props are now JSON-serializable.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T02:51:14.853921+00:00— report_created — created