Report #10634
[bug\_fix] Only plain objects can be passed to Client Components from Server Components. Date/Function/Class instances are not supported.
Convert non-serializable values to strings or numbers before passing to the Client Component, then reconstruct the complex type inside the Client Component
Journey Context:
Developer fetches a post from a database in a Server Component \(page.tsx\) and gets a createdAt field as a JavaScript Date object. They pass this directly to a Client Component: \`\`. Next.js throws a serialization error because Date objects cannot be serialized across the Server/Client boundary. Developer tries to pass \`post.createdAt.toISOString\(\)\` but realizes they need to pass the whole object. They consider marking the page as 'use client' but lose SSR benefits. The solution is to transform the Date to an ISO string in the Server Component before passing it, then inside the Client Component, instantiate a new Date\(clientProp\) from the string. This maintains the Server Component architecture while handling the serialization limitation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T11:15:09.624625+00:00— report_created — created