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

'use cache'

توجيه Cache Components 'use cache'

'use cache' يعلّم ملف أو مكوّن أو دالة إنها قابلة للتخزين المؤقّت ضمن نظام Cache Components الجديد في Next.js 16.

يحتاج تفعيل خيار cacheComponents بملف next.config.ts أولًا. بعدها تحط 'use cache' بأعلى ملف (كل التصديرات لازم تكون async) أو بأعلى مكوّن أو دالة محدّدة.

داخل النطاق المخزَّن ما تقدر توصل مباشرة لـ cookies() أو headers() أو searchParams — هذي بيانات خاصة بكل طلب، فاقرأها برّا النطاق ومرّرها كوسيط.

الصياغة

'use cache'

async function getData() {
  'use cache';
  // ...
}

📄 مثال

import { cacheLife, cacheTag } from 'next/cache';

async function getProducts() {
  'use cache';
  cacheLife('hours');
  cacheTag('products');

  const res = await fetch('https://api.example.com/products');
  return res.json();
}

أهم النقاط

العنصرالوظيفة
يحتاج تفعيلcacheComponents: true بملف next.config.ts
cookies()/headers()ممنوعة مباشرة جوّه النطاق المخزَّن — مرّرها كوسيط بعد قراءتها برّا

💡 نصائح عملية

  • استخدم cacheLife دايمًا صراحة بدل الاعتماد على البروفايل الافتراضي — أوضح لأي شخص يقرأ الكود لاحقًا
  • ادمجها مع cacheTag لو تحتاج إبطال دقيق لجزء معيّن من البيانات لاحقًا

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

  • قراءة cookies() أو headers() مباشرة جوّه دالة فيها 'use cache' — يرمي خطأ فورًا
  • نسيان تفعيل cacheComponents بـ next.config.ts فلا يُطبَّق التوجيه أصلًا

خصائص ذات صلة

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