mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
This ensures we don't lose tags added to a page before `notFound()` is called as otherwise a fetch on the page that has been revalidated won't be able to be applied correctly if dropped from a `notFound()` call. This was broken recently in the refactors of handling rendering in app-render as it worked correctly in `v14`. x-ref: [slack thread](https://vercel.slack.com/archives/C04V3E1UYNQ/p1736200963684869) Closes https://linear.app/vercel/issue/ENET-1381 Closes https://linear.app/vercel/issue/NEXT-3946 Closes https://github.com/vercel/next.js/issues/73973 Closes https://github.com/vercel/next.js/issues/66540
39 lines
666 B
TypeScript
39 lines
666 B
TypeScript
import React from 'react'
|
|
import { notFound } from 'next/navigation'
|
|
|
|
export function generateStaticParams() {
|
|
return [
|
|
{
|
|
slug: 'first',
|
|
},
|
|
{
|
|
slug: 'second',
|
|
},
|
|
]
|
|
}
|
|
|
|
export default async function Page(props: {
|
|
params: Promise<{ slug: string }>
|
|
}) {
|
|
const params = await props.params
|
|
await fetch('https://next-data-api.vercel.app/api/random', {
|
|
next: {
|
|
tags: ['explicit-tag'],
|
|
},
|
|
})
|
|
|
|
if (
|
|
params.slug !== 'second' &&
|
|
process.env.NEXT_PHASE === 'phase-production-build'
|
|
) {
|
|
notFound()
|
|
}
|
|
|
|
return (
|
|
<>
|
|
<p>/prerendered-not-found/{params.slug}</p>
|
|
<p>{Date.now()}</p>
|
|
</>
|
|
)
|
|
}
|