next.js/test/e2e/app-dir/instant-validation-build/app/(default)/valid-suspense-around-runtime/page.tsx
page.tsx36 lines878 B
import { cookies } from 'next/headers'
import { connection } from 'next/server'
import { Suspense } from 'react'

export const unstable_instant = {
  samples: [{ cookies: [{ name: 'auth', value: '1' }] }],
}
export const unstable_prefetch = 'force-runtime'

export default async function Page() {
  return (
    <main>
      <p>
        This page wraps all runtime/dynamic components in Suspense, so it should
        pass validation.
      </p>
      <Suspense fallback={<div>Loading...</div>}>
        <Runtime />
      </Suspense>
      <Suspense fallback={<div>Loading...</div>}>
        <Dynamic />
      </Suspense>
    </main>
  )
}

async function Runtime() {
  const c = await cookies()
  return <div id="runtime-content">cookie: {c.get('auth')?.value}</div>
}

async function Dynamic() {
  await connection()
  return <div id="dynamic-content">Dynamic content</div>
}
Quest for Codev2.0.0
/
SIGN IN