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
المشاهدات
469
x32x01
x32x01
x32x01
الردود
0
المشاهدات
716
x32x01
x32x01
x32x01
الردود
0
المشاهدات
98
x32x01
x32x01
x32x01
الردود
0
المشاهدات
128
x32x01
x32x01
x32x01
الردود
2
المشاهدات
174
Ayman Aboubakr
A
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,104
المشاركات
2,310
أعضاء أكتب كود
516
أخر عضو
Mohammed
عودة
أعلى