Report #94430
[bug\_fix] Importing Server Components directly into Client Components in Next.js App Router
Do not import Server Components directly into Client Component files. Instead, pass Server Components as \`children\` props from a parent Server Component to the Client Component.
Journey Context:
Developer has a Client Component \`InteractiveWrapper\` \(with 'use client'\) that needs to wrap some data fetched on the server. They create a Server Component \`DataList\` that performs async database queries. Developer tries to import \`DataList\` directly into \`InteractiveWrapper\`. Next.js build fails with an error stating that Server Components cannot be imported into Client Components. Developer initially tries to convert \`DataList\` to a Client Component, losing the ability to query the database directly, causing API route workarounds. Eventually, they learn the composition pattern: In the parent Server Component \(e.g., \`page.tsx\`\), they render \`\`. The \`InteractiveWrapper\` receives \`DataList\` as \`children\` \(a React node already rendered on server\), avoiding the import restriction.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T17:05:10.608141+00:00— report_created — created