revalidateTag
revalidateTag
permite purgar datos en caché bajo demanda para una etiqueta de caché específica.
Es bueno saber:
revalidateTag
está disponible tanto en los entornos de ejecución Node.js y Edge.revalidateTag
solo invalida la caché cuando la ruta es visitada nuevamente. Esto significa que llamar arevalidateTag
con un segmento de ruta dinámica no activará inmediatamente muchas revalidaciones a la vez. La invalidación solo ocurre cuando la ruta es visitada nuevamente.
Parámetros
revalidateTag(tag: string): void;
tag
: Una cadena que representa la etiqueta de caché asociada con los datos que deseas revalidar. Debe tener 256 caracteres o menos.
Puedes agregar etiquetas a fetch
de la siguiente manera:
fetch(url, { next: { tags: [...] } });
Retorno
revalidateTag
no retorna ningún valor.
Ejemplos
Acción de Servidor
'use server'
import { revalidateTag } from 'next/cache'
export default async function submit() {
await addPost()
revalidateTag('posts')
}
Manejador de Ruta
import { NextRequest } from 'next/server'
import { revalidateTag } from 'next/cache'
export async function GET(request: NextRequest) {
const tag = request.nextUrl.searchParams.get('tag')
revalidateTag(tag)
return Response.json({ revalidated: true, now: Date.now() })
}
import { revalidateTag } from 'next/cache'
export async function GET(request) {
const tag = request.nextUrl.searchParams.get('tag')
revalidateTag(tag)
return Response.json({ revalidated: true, now: Date.now() })
}