تخطَّ إلى المحتوى

revalidatePath()

إبطال التخزين المؤقّت لمسار محدّد revalidatePath()

تبطل الكاش لمسار معيّن (صفحة أو تخطيط) عند الطلب، فيُعاد توليده بالزيارة القادمة.

تُستدعى جوّه Server Functions أو Route Handlers فقط — ما تشتغل بمكوّنات العميل. مرّر مسارًا حرفيًا مثل /blog/post-1 لصفحة واحدة، أو نمطًا فيه مقطع ديناميكي مثل /blog/[slug] مع تحديد النوع 'page' أو 'layout'.

لو تستخدم rewrites بـ next.config، مرّر مسار الوجهة (destination) وليس المسار الظاهر بشريط العنوان — لأن الكاش مرتبط بملف المسار الفعلي، مو الرابط اللي يشوفه المستخدم.

الصياغة

revalidatePath(path: string, type?: 'page' | 'layout'): void

📄 مثال

'use server';

import { revalidatePath } from 'next/cache';

export async function publishPost() {
  await savePost();
  revalidatePath('/blog/[slug]', 'page');
}

أهم النقاط

العنصرالوظيفة
pathمسار حرفي زي /blog/post-1، أو نمط فيه [slug] مع تحديد type
type'page' أو 'layout' — إلزامي لو المسار فيه مقطع ديناميكي

💡 نصائح عملية

  • استخدمه جوّه Server Actions أو Route Handlers فقط — ما يشتغل بمكوّنات العميل ولا بالوسيط (Proxy)
  • لضبط كل التطبيق دفعة وحدة استخدم revalidatePath('/', 'layout')

⚠️ أخطاء شائعة

  • نسيان type مع مسار فيه مقطع ديناميكي متل [slug] — الدالة تحتاجه لتعرف أي نوع ملف تبطل
  • استخدام المسار الظاهر بالمتصفح بدل مسار الوجهة عند وجود rewrites بـ next.config

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار NEXTJS الكامل بالعربي.