React Router: التنقل بين صفحات تطبيقك بسهولة

x32x01
  • بواسطة x32x01 ||

إزاي تستخدم React Router وتتصفح صفحات موقعك بسهولة 🚀

لما تيجي تبني تطبيق React شغال على صفحة واحدة (SPA)، أكيد هيسألك نفسك: "إزاي أقدر أتنقل بين الصفحات من غير ما أعمل Refresh للصفحة كلها؟" 🤔

هنا بييجي دور React Router، المكتبة اللي بتخلي التنقل بين صفحات تطبيقك سهل وسلس. الموضوع مش معقد زي ما بعض الناس فاكرة، بس محتاج تفهم الأساسيات خطوة خطوة.

1. تجهيز الـ Router في المشروع ⚙️

أول حاجة، نصب المكتبة المطلوبة:
Code:
npm install react-router-dom

بعدها، في index.js، حط BrowserRouter حوالين التطبيق بتاعك، زي ما يكون مدير المرور اللي بينظم التنقلات:
JavaScript:
import { BrowserRouter } from 'react-router-dom';
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';

ReactDOM.createRoot(document.getElementById('root')).render( <BrowserRouter> <App /> </BrowserRouter>
);
كده React Router هيتحكم في التنقل بين الصفحات بدل ما كل مرة تعمل Refresh كامل 🔄.

2. إضافة الصفحات Routes و Route 🛠️

في App.js، استخدم Routes و Route لتحديد كل صفحة في المشروع:
JavaScript:
import { Routes, Route } from 'react-router-dom';
import Home from './components/Home';
import About from './components/About';

function App() {
return ( <Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} /> </Routes>
);
}

export default App;
كده لما المستخدم يروح للرابط /about، هيظهر صفحة About، ولو راح للرابط /، هيظهر صفحة Home.

3. روابط التنقل Link 🔗

علشان المستخدم يتنقل بين الصفحات من غير Refresh، استخدم Link بدل <a> العادية:
JavaScript:
import { Link } from 'react-router-dom';

function Navbar() {
return ( <nav> <Link to="/">Home</Link> <Link to="/about">About</Link> </nav>
);
}
دلوقتي لما المستخدم يضغط على أي لينك، هيتنقل على طول والصفحة مش هتعمل Reload 🚀.

4. Nested Routes: صفحات متفرعة للمشاريع الكبيرة 🏗️

لو مشروعك كبير وعندك صفحات متفرعة، هنا ييجي دور Nested Routes. مثال: صفحة لكل المستخدمين، وفي نفس الوقت صفحة لكل مستخدم عند الضغط عليه:
JavaScript:
<Route path="/users" element={<Users />}>
<Route path=":id" element={<UserProfile />} /> </Route>
كده /users/1 هيفتح صفحة المستخدم اللي رقم ID بتاعه 1، وده بينطبق على أي مستخدم.

5. إمكانيات متقدمة في React Router ⚡

React Router مش بس للتنقل البسيط، ده كمان بيدعم:
  • Redirects لإعادة توجيه الصفحات
  • Protected Routes لحماية الصفحات اللي محتاجة تسجيل دخول
  • إدارة الـ URL Parameters بسهولة
  • Integration مع Hooks زي useNavigate و useParams
مثال سريع على useParams:
JavaScript:
import { useParams } from 'react-router-dom';

function UserProfile() {
const { id } = useParams();
return <div>صفحة المستخدم رقم {id}</div>;
}

📝 باستخدام React Router، التنقل بين صفحات تطبيقك هيبقى سلس وسريع من غير أي Reload. ده هيخلي تجربة المستخدم أفضل والموقع أسرع.

ودي بس البداية 😎، لكن لو حابب تعمق أكتر، ممكن تدرس الـ Redirect، Protected Routes، Lazy Loading للصفحات، والـ Dynamic Routing.
لو عندك أي سؤال أو استفسار، اكتب في الكومنتات 👇 ومتنساش تشارك رأيك في الشرح!
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
314
x32x01
x32x01
x32x01
الردود
0
المشاهدات
229
x32x01
x32x01
x32x01
الردود
0
المشاهدات
579
x32x01
x32x01
x32x01
الردود
0
المشاهدات
344
x32x01
x32x01
x32x01
الردود
0
المشاهدات
353
x32x01
x32x01
x32x01
الردود
0
المشاهدات
602
x32x01
x32x01
x32x01
الردود
0
المشاهدات
339
x32x01
x32x01
x32x01
الردود
0
المشاهدات
564
x32x01
x32x01
x32x01
الردود
0
المشاهدات
356
x32x01
x32x01
x32x01
الردود
0
المشاهدات
358
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,830
المشاركات
2,027
أعضاء أكتب كود
464
أخر عضو
رشن7
عودة
أعلى