روتینگ با React Router

ایجاد شده توسط دکتر مصطفی جلیلی در آموزش برنامه نویسی React 21 ژوئیه 2025
اشتراک گذاری

روتینگ با React Router


یکی از مهم‌ترین نیازهای هر اپلیکیشن SPA، مدیریت مسیرها (Routing) است. کتابخانه‌ی React Router محبوب‌ترین ابزار برای این کار در اکوسیستم React محسوب می‌شود. با کمک آن می‌توانیم مسیرهای مختلف، پارامترها، ریدایرکت، و حتی مسیرهای محافظت‌شده بسازیم.


نصب و پیکربندی React Router


برای شروع باید React Router را نصب کنید:


npm install react-router-dom

سپس در نقطه ورود اپلیکیشن (مثلاً main.jsx یا index.js) آن را راه‌اندازی می‌کنیم:


import { BrowserRouter } from "react-router-dom";
import App from "./App";

تعریف Route و Link


در فایل App.jsx مسیرها را تعریف می‌کنیم:


import { Routes, Route, Link } from "react-router-dom";
import Home from "./pages/Home";
import About from "./pages/About";
function App() {
return (
<>
خانه
درباره ما
} />
} />
);
}

تفاوت با تگ در HTML: تگ Link باعث reload کامل صفحه نمی‌شود و از مزایای SPA استفاده می‌کنیم.


استفاده از useNavigate و useParams


useNavigate


برای ریدایرکت یا ناوبری برنامه‌نویسی‌شده:


import { useNavigate } from "react-router-dom";
const navigate = useNavigate();
navigate("/dashboard");

useParams


برای گرفتن پارامترهای مسیر:


} />
// در داخل کامپوننت Product
const { id } = useParams();

Nested Routes (مسیرهای تو در تو)


برای ساخت مسیرهای داخل یک صفحه (مثلاً تب‌ها یا صفحات فرعی):


}>
} />
} />

و در Dashboard.jsx:




Outlet جایی است که محتوای فرزند نمایش داده می‌شود.


Redirect و Navigate


برای هدایت کاربر به مسیر جدید (مثلاً پس از لاگین موفق):


import { Navigate } from "react-router-dom";
if (!isLoggedIn) {
return ;
}

جایگزین Redirect در نسخه‌های جدید React Router است.


محافظت از مسیرها (Protected Routes)


برای محدود کردن دسترسی به برخی صفحات (مثلاً فقط کاربران لاگین‌شده):


function ProtectedRoute({ children }) {
const isAuth = useAuth();
return isAuth ? children : ;
}

و استفاده:


path="/dashboard"
element={
}
/>

جمع‌بندی


در این فصل یاد گرفتیم که چطور با استفاده از React Router مسیرها و لینک‌ها را تعریف کنیم، از پارامترها و مسیرهای تو در تو استفاده کنیم، کاربر را برنامه‌نویسی‌شده منتقل کنیم و مسیرها را در برابر دسترسی‌های غیرمجاز محافظت کنیم.

نظرات (0)

اشتراک گذاری

این پست را با دیگران به اشتراک بگذارید

تنظیمات GDPR

When you visit any of our websites, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and manage your preferences. Please note, that blocking some types of cookies may impact your experience of the site and the services we are able to offer.