revalidateTag

revalidateTag vous permet de purger les données en cache à la demande pour un tag de cache spécifique.

Bon à savoir :

  • revalidateTag est disponible dans les deux environnements d'exécution Node.js et Edge.
  • revalidateTag n'invalide le cache que lorsque le chemin est visité ensuite. Cela signifie qu'appeler revalidateTag avec un segment de route dynamique ne déclenchera pas immédiatement de nombreuses revalidations à la fois. L'invalidation ne se produit que lorsque le chemin est visité à nouveau.

Paramètres

revalidateTag(tag: string): void;
  • tag : Une chaîne de caractères représentant le tag de cache associé aux données que vous souhaitez revalider. Doit contenir 256 caractères ou moins. Cette valeur est sensible à la casse.

Vous pouvez ajouter des tags à fetch comme suit :

fetch(url, { next: { tags: [...] } });

Valeur retournée

revalidateTag ne retourne aucune valeur.

Exemples

Action serveur

'use server'

import { revalidateTag } from 'next/cache'

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

import { revalidateTag } from 'next/cache'

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

Gestionnaire de route

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() })
}