revalidateTag
revalidateTag позволяет очистить кэшированные данные по требованию для определенного тега кэша.
Важно знать:
revalidateTagдоступен как в Node.js, так и в Edge-средах.revalidateTagделает инвалидацию кэша только при следующем посещении пути. Это означает, что вызовrevalidateTagс динамическим сегментом маршрута не вызовет сразу много перевалидаций. Инвалидация происходит только при следующем посещении пути.
Параметры
revalidateTag(tag: string): void;
-
tag: Строка, представляющая тег кэша, связанный с данными, которые вы хотите перевалидировать. Длина должна быть не более 256 символов. Регистр имеет значение.
Вы можете добавить теги к fetch следующим образом:
fetch(url, { next: { tags: [...] } });
Возвращаемое значение
revalidateTag не возвращает никакого значения.
Примеры
Действие сервера
'use server'
import { revalidateTag } from 'next/cache'
export default async function submit() {
await addPost()
revalidateTag('posts')
}Обработчик маршрутов
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() })
}
© 2024 Vercel, Inc.
Licensed under the MIT License.
https://nextjs.org/docs/app/api-reference/functions/revalidateTag