⊗jsrtPmRtRte 23 of 47 menu

Маршрути в React Router

Маршрутите (Routes) са най-важната част на приложение с React Router. Нека разгледаме част от кода от предишния урок:

const router = createBrowserRouter([ { path: '/', element: <div>Hello Router!</div>, }, ]);

И така, свойствата на обекта path и element, които предавахме на функцията при създаване на рутера, са свойства на обекта Route. Всъщност, този обект има множество свойства, те могат да бъдат намерени в официалната документация. В бъдеще, някои от тях ще ни бъдат полезни:

interface RouteObject { path?: string; index?: boolean; children?: React.ReactNode; caseSensitive?: boolean; id?: string; loader?: LoaderFunction; action?: ActionFunction; element?: React.ReactNode | null; Component?: React.ComponentType | null; errorElement?: React.ReactNode | null; ErrorBoundary?: React.ComponentType | null; handle?: RouteObject["handle"]; shouldRevalidate?: ShouldRevalidateFunction; lazy?: LazyRouteFunction<RouteObject>; }

Можеше да използвате алтернативен JSX стил и да напишете свойствата като пропсове за компонента Route, тогава нашата част от кода ще изглежда така:

const router = createBrowserRouter( createRoutesFromElements( <Route path = '/' element = {<div>Hello Router!</div>} /> ) );

И, разбира се, ще трябва да се добавят още няколко реда в импорта:

import { createRoutesFromElements, createBrowserRouter, RouterProvider, Route, } from 'react-router-dom';

И двата стила, показани в урока, са равностойни. Ние в бъдеще ще се придържаме към първия вариант.

Вземете приложението, създадено от вас в задачите към предишните уроци. Опитайте се да пренапишете частта от кода за създаване на рутера (стария засега го коментирайте), използвайки алтернативния JSX синтаксис, показан в урока. Уверете се, че приложението работи.

Върнете на място целия стар код, а новия премахнете. Уверете се, че приложението работи.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне