mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
We're splitting the test app routes between two root layouts, one for (partially) static pages that does not wrap its children in a Suspense boundary, and one for dynamic pages that adds a Suspense boundary above `body`, which opts those pages into fully dynamic rendering. Two tests are expected to fail for now, because they revealed bugs related to revalidation, which will be fixed in follow-up PRs: - https://github.com/vercel/next.js/pull/81611 - https://github.com/vercel/next.js/pull/81621 closes NAR-171
33 lines
727 B
TypeScript
33 lines
727 B
TypeScript
'use client'
|
|
|
|
import { useTransition } from 'react'
|
|
|
|
export function RevalidateButtons({
|
|
revalidatePath,
|
|
}: {
|
|
revalidatePath: () => Promise<void>
|
|
}) {
|
|
const [isPending, startTransition] = useTransition()
|
|
|
|
return (
|
|
<form>
|
|
<button id="revalidate-path" formAction={revalidatePath}>
|
|
revalidate with revalidatePath()
|
|
</button>{' '}
|
|
<button
|
|
id="revalidate-api-route"
|
|
disabled={isPending}
|
|
formAction={async () => {
|
|
startTransition(async () => {
|
|
await fetch('/api/revalidate?path=/on-demand-revalidate', {
|
|
method: 'POST',
|
|
})
|
|
})
|
|
}}
|
|
>
|
|
revalidate with API route
|
|
</button>
|
|
</form>
|
|
)
|
|
}
|