توسعه دهنده وب | متخصص ری اکت و نکست | طراح سایت |
معرفی Outlet در React Router: رندر کردن مسیرهای تو در تو
در این پست به بررسی کامپوننت Outlet در کتابخانه React Router خواهیم پرداخت. این کامپوننت یکی از اجزای مهم برای مدیریت مسیرهای تو در تو (Nested Routes) است. در پروژههای ریاکت که از React Router برای مسیریابی استفاده میکنند، گاهی نیاز به رندر کردن چند مسیر فرزند در دل یک مسیر والد داریم. اینجاست که کامپوننت Outlet به کمک میآید و نقش یک جایگاه (placeholder) را برای مسیرهای فرزند ایفا میکند.
در ادامه به توضیح و مثالهایی از نحوه استفاده از Outlet پرداخته میشود تا به شما کمک کند بهتر با این مفهوم آشنا شوید و آن را در پروژههای خود به کار بگیرید.
در React Router، کامپوننت `Outlet` به عنوان یک جایگاه (placeholder) برای رندر کردن کامپوننتهای فرزند در داخل یک کامپوننت والد استفاده میشود. این مکانیزم معمولاً در زمان استفاده از مسیرهای تو در تو (nested routes) به کار میرود.
فرض کنید که شما یک مسیر والد دارید که خودش شامل چند مسیر فرزند است. در این حالت، `Outlet` در مسیر والد قرار میگیرد و زمانی که یکی از مسیرهای فرزند تطبیق داده میشود، محتوای آن مسیر فرزند در داخل `Outlet` رندر میشود.
import { Outlet } from 'react-router-dom';
function ParentLayout() {
return (
<div>
<h1>صفحه والد</h1>
{/* اینجا کامپوننتهای فرزند رندر میشوند */}
<Outlet />
</div>
);
}سپس میتوانید مسیرهای فرزند را تعریف کنید:
import { createBrowserRouter, RouterProvider } from 'react-router-dom';
import ParentLayout from './ParentLayout';
import ChildComponent from './ChildComponent';
const router = createBrowserRouter([
{
path: "/parent",
element: <ParentLayout />,
children: [
{
path: "child",
element: <ChildComponent />,
},
],
},
]);
function App() {
return <RouterProvider router={router} />;
}در این مثال:
- وقتی کاربر به مسیر `/parent/child` میرود، کامپوننت `ChildComponent` داخل `Outlet` که در `ParentLayout` قرار دارد رندر میشود.
- اگر مسیری به `/parent` برود (بدون `/child`)، فقط کامپوننت والد (`ParentLayout`) نمایش داده میشود.
پس `Outlet` یک جایگاه است که مسیرهای فرزند در آن رندر میشوند.
مطلبی دیگر از این انتشارات
۱۷ سوال مصاحبه ریاکت که هر توسعهدهندهای در سال ۱۴۰۴ باید بداند
مطلبی دیگر از این انتشارات
HOC یا Higher Order Component در ری اکت
مطلبی دیگر از این انتشارات
مشکلات ناسازگاری در ری اکت 19 React ، مشکل نصب وابستگی ها و عدم اجرا پس از نصب