- بواسطة 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>
); 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; 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>
);
} 4. Nested Routes: صفحات متفرعة للمشاريع الكبيرة 🏗️
لو مشروعك كبير وعندك صفحات متفرعة، هنا ييجي دور Nested Routes. مثال: صفحة لكل المستخدمين، وفي نفس الوقت صفحة لكل مستخدم عند الضغط عليه: JavaScript:
<Route path="/users" element={<Users />}>
<Route path=":id" element={<UserProfile />} /> </Route> 5. إمكانيات متقدمة في React Router ⚡
React Router مش بس للتنقل البسيط، ده كمان بيدعم:- Redirects لإعادة توجيه الصفحات
- Protected Routes لحماية الصفحات اللي محتاجة تسجيل دخول
- إدارة الـ URL Parameters بسهولة
- Integration مع Hooks زي useNavigate و 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.
لو عندك أي سؤال أو استفسار، اكتب في الكومنتات 👇 ومتنساش تشارك رأيك في الشرح!
التعديل الأخير: