revalidateTag
تتيح لك revalidateTag
إبطال البيانات المخزنة مؤقتًا عند الطلب لعلامة تخزين مؤقت معينة.
معلومة مفيدة:
revalidateTag
متاحة في كل من بيئات تشغيل Node.js و Edge.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 { 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() })
}