revalidateTag

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

Bon à savoir :

  • revalidateTag n'invalide le cache que lorsque le chemin est visité à nouveau. Cela signifie qu'appeler revalidateTag avec un segment de route dynamique ne déclenchera pas immédiatement de nombreuses revalidations. L'invalidation se produit uniquement lorsque le chemin est visité ultérieurement.

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