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

notFound()

عرض صفحة 404 لمقطع مسار notFound()

توقف تصيير مقطع المسار الحالي وتعرض ملف not-found.tsx الأقرب، مع وسم الصفحة noindex لمحركات البحث.

تُستورد من next/navigation، وتُستخدم لما مورد معيّن (منتج، مقالة، مستخدم) غير موجود فعليًا — مو لحالات صلاحيات أو مصادقة، فتلك حالتها redirect. مثل redirect، نوعها never فما تحتاج return قبلها.

لو ما في not-found.tsx بنفس مستوى المقطع، Next.js يعرض صفحة 404 افتراضية عامّة.

الصياغة

import { notFound } from 'next/navigation';
notFound(): never

📄 مثال

import { notFound } from 'next/navigation';

export default async function Profile({ params }: { params: Promise<{ id: string }> }) {
  const { id } = await params;
  const user = await fetchUser(id);

  if (!user) notFound();
  // ...
}

أهم النقاط

العنصرالوظيفة
لا تحتاج returnنوعها never، تقدر تستدعيها مباشرة بدون return قبلها

💡 نصائح عملية

  • أنشئ not-found.tsx بنفس مستوى المقطع لعرض واجهة مخصّصة بدل صفحة 404 الافتراضية العامّة
  • استخدمها فقط لمورد غير موجود فعليًا — لحالات مثل عدم تسجيل الدخول استخدم redirect بدلها

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

  • استخدامها لحالات المصادقة (زي مستخدم غير مسجّل دخول) بدل redirect — الاستخدام الصحيح لها هو مورد غير موجود فقط

خصائص ذات صلة

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