unstable_noStore

في الإصدار 15، نوصي باستخدام connection بدلاً من unstable_noStore.

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

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

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

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

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

الاستخدام

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

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

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

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

الإصدارالتغييرات
v15.0.0تم إهمال unstable_noStore لصالح connection.
v14.0.0تم تقديم unstable_noStore.