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

x32x01
  • بواسطة x32x01 ||
  • #1

إزاي تستخدم 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
المشاهدات
641
x32x01
x32x01
x32x01
الردود
0
المشاهدات
663
x32x01
x32x01
x32x01
  • x32x01
الردود
0
المشاهدات
152
x32x01
x32x01
x32x01
الردود
0
المشاهدات
235
x32x01
x32x01
x32x01
الردود
0
المشاهدات
709
x32x01
x32x01
الوسوم : الوسوم
browserrouter front end link react react router route routes spa useparams التنقل بين الصفحات
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟

آخر المشاركات

إحصائيات المنتدى
المواضيع
2,388
المشاركات
2,601
أعضاء أكتب كود
574
أخر عضو
الياس
عودة
أعلى