revalidateTag
تتيح لك revalidateTag
إلغاء صلاحية البيانات المخزنة مؤقتًا عند الطلب لعلامة تخزين مؤقت معينة.
معلومة مفيدة:
revalidateTag
تلغي صلاحية التخزين المؤقت فقط عند زيارة المسار بعد ذلك. هذا يعني أن استدعاءrevalidateTag
مع جزء مسار ديناميكي لن يؤدي إلى إطلاق العديد من عمليات إعادة التحقق على الفور. يتم إلغاء الصلاحية فقط عند زيارة المسار بعد ذلك.
المعاملات
revalidateTag(tag: string): void;
tag
: سلسلة تمثل علامة التخزين المؤقت المرتبطة بالبيانات التي تريد إعادة التحقق منها. يجب أن تكون أقل من أو تساوي 256 حرفًا. هذه القيمة حساسة لحالة الأحرف.
يمكنك إضافة علامات إلى fetch
كما يلي:
fetch(url, { next: { tags: [...] } });
القيم المُرجعة
لا ترجع revalidateTag
أي قيمة.
أمثلة
إجراء الخادم (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 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() })
}