برنامه نویسی

ساخت رابط کاربری پویا با React و React-Router

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

پیش نیازها

قبل از پرداختن به جزئیات React-Router، مهم است که ابتدا React و JavaScript را درک کنید. اگر تازه وارد React هستید، مستندات رسمی React را بخوانید یا در دوره React ثبت نام کنید. دانش HTML و CSS نیز مزیت دارد.

راه اندازی React-Router

برای شروع استفاده از React-Router، ابتدا باید آن را نصب کنیم. می توانید آن را با npm، مدیر بسته Node.js نصب کنید.

npm install react-router-dom

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از نصب، می توانیم از خط زیر برای وارد کردن React-Router به کد خود استفاده کنیم:

import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ایجاد مسیرها

مسیرها پایه و اساس React-Router هستند. آنها مسئول نگاشت URL ها به اجزا هستند. React-Router شامل تعدادی مولفه ایجاد مسیر است. Route، Switch، و Link بیشترین استفاده را دارند.

یک جزء مسیر برای تعیین a استفاده می شود path. به دو پارامتر نیاز دارد: path و component. path نشانی اینترنتی است که باید با مسیر مطابقت داشته باشد. وقتی URL مطابق با path، component جزء React است که باید رندر شود.

<Route path="/about" component={About} />

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

آ Switch مولفه چندتایی می پیچد Route اجزاء. فقط اولی Route که با URL فعلی مطابقت دارد ارائه می شود. این امر از رندر شدن بیش از یک مؤلفه به طور همزمان جلوگیری می کند.

<Switch>
  <Route path="/" exact component={Home} />
  <Route path="/about" component={About} />
  <Route path="/contact" component={Contact} />
</Switch>

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

را link جزء برای ایجاد لینک به مسیرهای مختلف استفاده می شود. فقط به یک پارامتر نیاز دارد: to، که URL است to که لینک باید به آن اشاره کند.

<Link to="/about">About</Link>

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مدیریت مسیرهای تودرتو

مسیرهایی که در مسیر دیگری ارائه می شوند، مسیرهای تودرتو نامیده می شوند. آنها هنگام ایجاد رابط های کاربری پیچیده مفید هستند. React-Router مدیریت مسیرهای تودرتو را ساده و شهودی می کند.

برای ایجاد مسیرهای تودرتو ابتدا باید مسیرهای والد و فرزند را تعریف کنیم. در مسیر والد، مسیرهای فرزند باید تعریف شوند. برای رندر کردن مسیرهای فرزند، می توانیم از render پشتیبانی

<Route path="/products" render={() => (
  <div>
    <h1>Products</h1>
    <Route path="/products/:id" component={Product} />
  </div>
)} />

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ما یک مسیر والد تعریف کردیم /products و یک مسیر کودک /products/:id در مثال قبل را :id پارامتر مخفف شناسه محصول است. هنگامی که یک کاربر به /products/123، جزء Product با شناسه 123 ارائه شده است.

مدیریت احراز هویت

برنامه های کاربردی وب اغلب شامل احراز هویت می شوند. با استفاده از Redirect جزء، React-Router احراز هویت را کنترل می کند. را Redirect جزء برای هدایت کاربران به صفحه دیگری بر اساس شرایط خاص استفاده می شود.

import { Redirect } from 'react-router-dom';

function PrivateRoute({ component: Component, authenticated, ...rest }) {
  return (
    <Route {...rest} render={(props) => (
      authenticated === true
        ? <Component {...props} />
        : <Redirect to='/login' />
    )} />
  )
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در مثال قبل، a را تعریف کردیم PrivateRoute جزء با سه پایه: component، authenticated، و rest. component نشان دهنده مولفه React است که باید رندر شود. authenticated یک مقدار بولی است که نشان می دهد آیا کاربر احراز هویت شده است یا خیر. rest ظرفی برای هر گونه وسایل اضافی است.

را Route render prop برای رندر استفاده می شود component بسته به وضعیت احراز هویت را Component در صورت احراز هویت کاربر ارائه می شود. اگر کاربر احراز هویت نشده باشد، Redirect کامپوننت کاربر را به صفحه ورود هدایت می کند.

انتقال صفحه

انتقال صفحه انیمیشن هایی هستند که وقتی کاربر بین صفحات جابجا می شود اتفاق می افتد. کتابخانه react-transition-group توسط React-Router برای مدیریت انتقال صفحه استفاده می شود.

npm install react-transition-group

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از نصب react-transition-group کتابخانه، ما می توانیم وارد کنیم TransitionGroup و CSSTransition اجزاء.

import { TransitionGroup, CSSTransition } from 'react-transition-group';


وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای فعال کردن انتقال صفحه، می‌توانیم جزء Switch خود را در جزء TransitionGroup قرار دهیم. جزء CSSTransition برای تعریف انیمیشن استفاده می شود.

<TransitionGroup>
  <CSSTransition key={location.key} classNames="fade" timeout={300}>
    <Switch location={location}>
      <Route path="/" exact component={Home} />
      <Route path="/about" component={About} />
      <Route path="/contact" component={Contact} />
    </Switch>
  </CSSTransition>
</TransitionGroup>


وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در مثال قبل، ما خود را پیچیده کردیم Switch جزء در الف TransitionGroup جزء. CSSTransition's key prop تنظیم شده است location.key برای اطمینان از اینکه انیمیشن هنگام تغییر مکان فعال می شود. برای تعریف انیمیشن، classNames prop تنظیم شده است fade. را timeout prop تنظیم شده است 300 milliseconds برای مشخص کردن مدت زمان انیمیشن

نتیجه

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

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا