import { updateTag } from 'next/cache' export const fetchCache = 'default-cache' async function AnotherRsc() { const data = await fetch( 'https://next-data-api-endpoint.vercel.app/api/random?another-no-cache', { cache: 'no-cache', } ).then((res) => res.text()) return

"another-no-cache" {data}

} async function FirstRsc() { const dataNoCache = await fetch( 'https://next-data-api-endpoint.vercel.app/api/random?no-cache', { cache: 'no-cache', } ).then((res) => res.text()) const dataForceCache = await fetch( 'https://next-data-api-endpoint.vercel.app/api/random?force-cache', { cache: 'force-cache', } ).then((res) => res.text()) const dataRevalidate0 = await fetch( 'https://next-data-api-endpoint.vercel.app/api/random?revalidate-0', { next: { revalidate: 0, }, } ).then((res) => res.text()) const dataRevalidateCache = await fetch( 'https://next-data-api-endpoint.vercel.app/api/random?revalidate-3', { next: { revalidate: 3, }, } ).then((res) => res.text()) const dataRevalidateAndFetchCache = await fetch( 'https://next-data-api-endpoint.vercel.app/api/random?revalidate-3-force-cache', { next: { revalidate: 3, }, cache: 'force-cache', } ).then((res) => res.text()) const dataAutoCache = await fetch( 'https://next-data-api-endpoint.vercel.app/api/random?auto-cache', { next: { tags: ['test-tag'] } } ).then((res) => res.text()) return ( <>

"cache: no-cache" {dataNoCache}

"cache: force-cache" {dataForceCache}

"revalidate: 0" {dataRevalidate0}

"revalidate: 3" {dataRevalidateCache}

"revalidate: 3 and cache: force-cache" {dataRevalidateAndFetchCache}

"auto cache" {dataAutoCache}

) } function RevalidateForm() { return (
{ 'use server' updateTag('test-tag') }} >
) } export default async function Page() { return ( <>

Default Cache

) }