مسیرهای عمومی و خصوصی در React Router — از صفر تا صد

۱۵۵ بازدید
آخرین به‌روزرسانی: ۱۹ شهریور ۱۴۰۲
زمان مطالعه: ۲ دقیقه
مسیرهای عمومی و خصوصی در React Router — از صفر تا صد

در این مقاله در مورد روش نوشتن مسیرهای عمومی و خصوصی در React Router توضیح خواهیم داد. ما از react-router-dom برای ساختن مسیرها استفاده می‌کنیم. react-router-dom یک پکیج محبوب برای ایجاد مسیر محسوب می‌شود. این پکیج از react-router-dom در هسته مرکزی خود بهره می‌گیرد. بنابراین بدون هر گونه توضیح اضافی به توضیح روش نوشتن مسیرها می‌پردازیم.

قصد داریم مسیرهای ساده‌ای ایجاد کنیم که وقتی کاربر تلاش می‌کند تا به صفحه خاصی برسد که مجوز دسترسی به آن را ندارد به صفحه‌ای ریدایرکت شود که به آن دسترسی دارد. برای روشن‌تر شدن موضوع یک مثال را بررسی می‌کنیم.

به منظور سادگی سه کامپوننت طراحی می‌کنیم. این موارد به صورت زیر هستند:

  • Home – یک مسیر عمومی که هر کس می‌تواند به آن دسترسی داشته باشد.
  • Sign-In – یک مسیر عمومی که کاربران احراز هویت شده نمی‌توانند به آن دسترسی داشته باشند.
  • Landing page – یک مسیر خصوصی که تنها کاربران احراز هویت شده می‌توانند به آن دست یابند.

زمانی که کاربر لاگین نکرده باشد، نمی‌تواند به صفحه فرود (Landing page) دسترسی داشته باشد و زمانی که تلاش کند به آن دسترسی پیدا کند، به صفحه Sign-In ریدایرکت می‌شود. به طور مشابه زمانی که کاربر لاگین می‌کند، نباید به صفحه Sign-In دسترسی داشته باشد.

تعریف کردن مسیرهای خصوصی

مسیرهای عمومی و خصوصی در React Router

در این مرحله loggedIn را ایمپورت می‌کنیم که یک مقدار بولی بازگشت می‌دهد و تعیین می‌کند که کاربر لاگین کرده است یا نه. مسیرخصوصی را به وسیله پیاده‌سازی منطقی تعریف می‌کنیم که اگر کاربر لاگین کرده بود، کامپوننت را نمایش دهد و در غیر این صورت به صفحه Sign-In ریدایرکت کند. بدین ترتیب یک کامپوننت با قابلیت استفاده مجدد برای مسیر خصوصی داریم.

تعریف کردن مسیرهای عمومی

مسیرهای عمومی و خصوصی در React Router

به طور مشابه مسیرهای عمومی را با تعریف رندرینگ شرطی روی loggedIn و فلگ restricted تعریف می‌کنیم. اگر لاگین کرده باشند، اما صفحه درخواستی مجدد شده باشد، در این صورت به صفحه فرود ریدایرکت می‌شوند، در غیر این صورت کامپوننت رندر می‌شود.

سخن پایانی

ما <BrowserRouter> و <Switch> را از react-router-dom ایمپورت می‌کنیم و در فایل App.js مسیرها را به صورت زیر اعلان می‌کنیم:

مسیرهای عمومی و خصوصی در React Router

اکنون مسیرهای عمومی و خصوصی را با موفقیت اعلان کرده‌ایم. با این که روش‌های مختلفی برای پیاده‌سازی مسیرهای عمومی و خصوصی وجود دارند، اما این روش که در مقاله توضیح دادیم، ساده و سرراست است. بدین ترتیب می‌توانیم با اطمینان منطق خود را برای مدیریت بهتر مسیرها مورد استفاده قرار دهیم.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۱ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
wesionary-team
۱ دیدگاه برای «مسیرهای عمومی و خصوصی در React Router — از صفر تا صد»

لطفا برای ورژن 6 روتر دامهم مقاله بزارید

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *