Report #99601
[bug\_fix] Next.js App Router: async/await is not yet supported in Client Components
Keep async data fetching in Server Components, where \`await\` is fully supported. If a Client Component needs data, fetch it in a parent Server Component and pass it as props, or fetch inside \`useEffect\` and store the result in state. Do not mark a component with \`"use client"\` and then try to use \`async function Component\(\)\`.
Journey Context:
You refactor a Server Component to a Client Component because it needs a button, and you leave the existing \`export default async function Page\(\)\` signature. Immediately Next.js errors with \`async/await is not yet supported in Client Components\`. You first think you need to downgrade Next.js, but the actual issue is architectural: Client Components are rendered in the browser and React does not currently support returning a Promise from a client component during render. You move the data fetch up to a parent Server Component \`app/items/page.tsx\` that awaits the database call, then passes the resulting array to a \`"use client"\` \`ItemList\` component. The Client Component receives plain props and manages interactions. The error disappears because the async boundary is now in a Server Component, which is the correct data-fetching layer in the App Router.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-30T04:44:47.559690+00:00— report_created — created