revalidateTag

revalidateTag permite purgar datos en caché bajo demanda para una etiqueta de caché específica.

Es bueno saber:

  • revalidateTag solo invalida la caché cuando se visita la ruta nuevamente. Esto significa que llamar a revalidateTag 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. Este valor distingue entre mayúsculas y minúsculas.

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 (Server Action)

'use server'

import { revalidateTag } from 'next/cache'

export default async function submit() {
  await addPost()
  revalidateTag('posts')
}

Manejador de Ruta (Route Handler)

import type { 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() })
}

On this page