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 الكامل بالعربي.