next.js/test/e2e/app-dir/instant-validation/app/suspense-in-root/runtime/suspense-around-dynamic/page.tsx
page.tsx35 lines784 B
import { cookies } from 'next/headers'
import { connection } from 'next/server'
import { Suspense } from 'react'

export const unstable_instant = true
export const unstable_prefetch = 'force-runtime'

export default async function Page() {
  return (
    <main>
      <div>
        <p>Runtime content doesn't need a suspense boundary:</p>
        <Runtime />
      </div>

      <div>
        <p>But dynamic content does:</p>
        <Suspense fallback={<div>Loading...</div>}>
          <Dynamic />
        </Suspense>
      </div>
    </main>
  )
}

async function Runtime() {
  await cookies()
  return <div id="runtime-content">Runtime content from page</div>
}

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