📍 دليل شامل لاستخدام React Router في تطبيقات React
React Router هي مكتبة قوية تتيح لك إنشاء تطبيقات صفحة واحدة (SPA) مع إدارة التنقل بين المكونات المختلفة بسلاسة. في هذا الدرس، سنتعلم الأساسيات خطوة بخطوة.
🎯 ما هو React Router ولماذا نحتاجه؟
عند بناء تطبيقات ويب، نحتاج غالباً إلى التنقل بين صفحات أو أقسام مختلفة. React Router يحل هذه المشكلة عن طريق إدارة عنوان URL وعرض المكونات المناسبة دون الحاجة إلى إعادة تحميل الصفحة.
المميزات الرئيسية:
- إنشاء مسارات (Routes) مختلفة للتطبيق
- تنظيم التنقل بين المكونات
- تحسين تجربة المستخدم
- دعم للروابط المباشرة (Deep Linking)
📦 تثبيت React Router
لبدء الاستخدام، نحتاج أولاً إلى تثبيت المكتبة:
npm install react-router-dom
🔧 المكونات الأساسية في React Router
1. BrowserRouter
هو المكون الرئيسي الذي يغلف تطبيقنا ليسمح باستخدام Router
import { BrowserRouter } from 'react-router-dom';
function App() {
return (
<BrowserRouter>
{/* باقي التطبيق هنا */}
</BrowserRouter>
);
}
2. Routes و Route
يحددان المسارات والمكونات المرتبطة بها
import { Routes, Route } from 'react-router-dom';
function App() {
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
<Route path="/contact" element={<Contact />} />
</Routes>
</BrowserRouter>
);
}
3. Link
بديل عن <a> للتنقل الداخلي
import { Link } from 'react-router-dom';
function Navigation() {
return (
<nav>
<Link to="/">الرئيسية</Link>
<Link to="/about">عننا</Link>
<Link to="/contact">اتصل بنا</Link>
</nav>
);
}
🚀 مثال عملي متكامل
لنقم ببناء تطبيق بسيط بثلاث صفحات:
import { BrowserRouter, Routes, Route, Link } from 'react-router-dom';
// مكونات الصفحات
function Home() {
return <h1>الصفحة الرئيسية 🏠</h1>;
}
function About() {
return <h1>صفحة عننا ℹ️</h1>;
}
function Contact() {
return <h1>صفحة الاتصال 📞</h1>;
}
// مكون التنقل
function NavBar() {
return (
<nav style={{ padding: '20px', background: '#f0f0f0' }}>
<Link to="/" style={{ margin: '10px' }}>الرئيسية</Link>
<Link to="/about" style={{ margin: '10px' }}>عننا</Link>
<Link to="/contact" style={{ margin: '10px' }}>اتصل بنا</Link>
</nav>
);
}
// التطبيق الرئيسي
function App() {
return (
<BrowserRouter>
<NavBar />
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
<Route path="/contact" element={<Contact />} />
</Routes>
</BrowserRouter>
);
}
export default App;
💡 نصائح مهمة للمبتدئين
- ترتيب المسارات: ضع المسارات الأكثر تحديداً في الأسفل
- مسار افتراضي: يمكن استخدام
path="*"للصفحات غير الموجودة - استخدم Link بدلاً من a: لتجنب إعادة تحميل الصفحة
- اختبار كل مسار: تأكد من عمل كل مسار بشكل صحيح
<Route path="*" element={<NotFound />} />
❌ الأخطاء الشائعة
- نسيان تغليف التطبيق بـ BrowserRouter
- استخدام
<a>بدلاً من<Link> - عدم تطابق مسارات Route مع مسارات Link
- وضع مكونات خارج BrowserRouter
🎓 اختبر معلوماتك
السؤال 1 من 30% أكملت
ما هو المكون المسؤول عن تغليف التطبيق في React Router للسماح باستخدام الـ Router؟
آخر تحديث: ٣٠ أبريل ٢٠٢٦
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال
جاري تحميل التعليقات...