Nested Routes المسارات المتداخلة

آخر تحديث: 2026-11-03

Nested Routes المسارات المتداخلة

تُعبّر المسارات المتداخلة عن «تخطيط + صفحات فرعية» كعنصري Route أب وابن: يحتوي Route أب على مسارات أخرى، ويرسم المكوّن الأب «حفرة» Outlet تُرسم فيها الصفحة الفرعية المطابقة. ويُبنى تخطيط لوحة الإدارة الكلاسيكي — بشريط جانبي ثابت ومنطقة محتوى متغيّرة — بالكامل على هذا النمط. ويحتفظ كل مستوى بإطاره الخاص، فتبقى حتى شجرة تخطيطات عميقة سهلة الفهم.

المجموعةالتوجيه وإدارة الحالة
النوعمكوّن
منذ الإصدارReact Router 6.4

ℹ️ ملاحظة يحوّل المحرّر JSX إلى JavaScript ويعرض الواجهة الحقيقية داخل بيئة معزولة؛ تُركَّب المكوّنات تلقائياً دون استدعاء render يدوي.

📝 الصيغة

import { Routes, Route, Outlet } from 'react-router-dom'

function DashboardLayout() {
  return (
    <div>
      <aside>Sidebar (fixed by the parent)</aside>
      <main><Outlet /></main>   {/* the child route renders here */}
    </div>
  )
}

<Route path="dashboard" element={<DashboardLayout />}>
  <Route index element={<Overview />} />   {/* the default child page of /dashboard */}
  <Route path="team" element={<Team />} /> {/* /dashboard/team */}
</Route>

⚙️ المعاملات

path (parent)قطعة مسار الأب؛ يُلحَق بها مسار الابن، وبادئة / تجعله مطلقًا.
indexعلامة خاصة على الابن: الصفحة الفرعية الافتراضية التي تُرسم حين لا يحمل مسار الأب نفسه (/dashboard مثلًا) أي قطع إضافية.

القيمة المرجعة:لا شيء (مكوّن تصريحي). يرسم الأب عنصره، وموضع Outlet داخله يقرّر أين يظهر محتوى الابن.

▶ مثال

المثال يعمل مباشرة: يُعرض تلقائياً عند التوسيع وتظهر التعديلات فوراً.

الناتج:

يبقى الإطار الخارجي والعنوان (تخطيط الأب) كما هما، بينما يتبدّل الصندوق المتقطّع (موضع Outlet) بالصفحات الفرعية عند النقر — نتيجة رسم المسارات الأب/الابن المتداخلة مع Outlet (عرض توضيحي محاكى).

💡 النقاط الأساسية

💡 نصيحة يجيب المسار index عن «ماذا يُعرض عند زيارة /dashboard نفسها»: يمنح الأب صفحة افتراضية يرسمها Outlet تخطيطه.
ℹ️ ملاحظة مسار الابن بلا مائلة بادئة يُلحَق نسبيًا (path='team' -> /dashboard/team)، وبـ / يُحسب من الجذر؛ والصيغة النسبية أسهل صيانة عند إعادة ترتيب التسلسل.
⚠️ تحذير إن نسي المكوّن الأب Outlet فلن يُرسم الابن المطابق — ومنطقة فارغة هي أكثر أعراض هذا الخطأ شيوعًا.
المزيد من الحالات قريباً.

📚 دروس ذات صلة

❓ الأسئلة الشائعة

س ما هو Outlet؟
ج عنصر نائب لرسم الابن. تصوّره حفرة حفرها الأب: يُملأ فيها عنصر الابن المطابق، ويمكن تداخل Outlets بعمق ما شئت.
س لماذا يكون /dashboard فارغًا؟
ج لأن لا مسارًا فرعيًا طابق. أضف للأب مسارًا فرعيًا index يوفّر صفحة افتراضية.
س هل يمكن تداخل المسارات الفرعية أكثر؟
ج نعم. تبنّي Outlets داخل Outlets شجرة تخطيط بأي عمق، وكل مستوى أب يحتفظ بإطاره الثابت الخاص.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%