next.js/test/e2e/app-dir/resume-data-cache/app/revalidate-action/page.tsx
page.tsx33 lines842 B
import { Suspense } from 'react'
import { connection } from 'next/server'
import { cacheTag } from 'next/cache'
import { RevalidateButton } from './revalidate-button'

async function getCachedRandom() {
  'use cache'
  cacheTag('revalidate-action-test')
  return Math.random()
}

async function DynamicContent() {
  // Make the page dynamic/PPR by accessing connection()
  await connection()
  // Generate uncached value after dynamic access
  const uncachedValue = Math.random()
  return <p id="uncached-value">{uncachedValue}</p>
}

export default async function Page() {
  const cachedValue = await getCachedRandom()

  return (
    <div>
      <p id="cached-value">{cachedValue}</p>
      <Suspense fallback={<p id="uncached-value">Loading...</p>}>
        <DynamicContent />
      </Suspense>
      <RevalidateButton />
    </div>
  )
}
Quest for Codev2.0.0
/
SIGN IN