-
Notifications
You must be signed in to change notification settings - Fork 86
/
Copy pathpage.tsx
34 lines (29 loc) · 961 Bytes
/
page.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { unstable_cacheLife as cacheLife, unstable_cacheTag as cacheTag } from 'next/cache'
import {
BasePageComponentProps,
getDataImplementation,
PageComponentImplementation,
ResultComponentImplementation,
ResultWrapperComponentProps,
} from '../../../../../helpers'
async function getData(route: string) {
return await getDataImplementation(route)
}
async function ResultWrapperComponent(props: ResultWrapperComponentProps) {
return <ResultComponentImplementation {...props} />
}
export default async function PageComponent({ params }: BasePageComponentProps) {
'use cache'
const routeRoot = 'default/use-cache-page/dynamic/ttl-1year'
cacheTag(`page/${routeRoot}/${(await params).slug}`)
cacheLife('1year')
return (
<PageComponentImplementation
routeRoot={routeRoot}
params={params}
getData={getData}
ResultWrapperComponent={ResultWrapperComponent}
/>
)
}
export const dynamic = 'force-dynamic'