unstable_noStore

يمكن استخدام unstable_noStore للانسحاب التصريحي من التصيير الثابت (static rendering) للإشارة إلى أن مكونًا معينًا لا يجب تخزينه مؤقتًا.

import { unstable_noStore as noStore } from 'next/cache';

export default async function Component() {
  noStore();
  const result = await db.query(...);
  ...
}

معلومة مفيدة:

  • unstable_noStore تعادل cache: 'no-store' في طلب fetch
  • يُفضل استخدام unstable_noStore بدلاً من export const dynamic = 'force-dynamic' لأنها أكثر دقة ويمكن استخدامها على أساس كل مكون
  • استخدام unstable_noStore داخل unstable_cache لن يلغي التصيير الثابت. بدلاً من ذلك، سيعتمد على تكوين التخزين المؤقت لتحديد ما إذا كان سيتم تخزين النتيجة مؤقتًا أم لا.

طريقة الاستخدام

إذا كنت تفضل عدم تمرير خيارات إضافية إلى fetch، مثل cache: 'no-store' أو next: { revalidate: 0 }، يمكنك استخدام noStore() كبديل لكل هذه الحالات.

import { unstable_noStore as noStore } from 'next/cache';

export default async function Component() {
  noStore();
  const result = await db.query(...);
  ...
}

سجل الإصدارات

الإصدارالتغييرات
v14.0.0تم تقديم unstable_noStore.