revalidateTag
revalidateTag
ermöglicht es Ihnen, zwischengespeicherte Daten bei Bedarf für einen bestimmten Cache-Tag zu löschen.
Wissenswert:
revalidateTag
ist in beiden Node.js- und Edge-Runtimes verfügbar.revalidateTag
invalidiert den Cache erst, wenn der Pfad das nächste Mal aufgerufen wird. Das bedeutet, dass der Aufruf vonrevalidateTag
mit einem dynamischen Routensegment nicht sofort viele Revalidierungen auslöst. Die Invalidierung erfolgt nur, wenn der Pfad das nächste Mal aufgerufen wird.
Parameter
revalidateTag(tag: string): void;
tag
: Eine Zeichenkette, die den Cache-Tag repräsentiert, der mit den zu revalidierenden Daten verknüpft ist. Muss 256 Zeichen oder weniger lang sein. Die Groß-/Kleinschreibung wird beachtet.
Sie können Tags wie folgt zu fetch
hinzufügen:
fetch(url, { next: { tags: [...] } });
Rückgabewert
revalidateTag
gibt keinen Wert zurück.
Beispiele
Server Action
'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')
}
Route Handler
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() })
}