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