⊗jsrtPmRtNR 27 of 47 menu

Rute Îmbricate în React Router

În această lecție ne vom familiariza cu rutele îmbricate. Porniți aplicația pe care am făcut-o în lecția precedentă. Făcând clic pe linkuri, ajungem pe o pagină separată cu produsul. Să presupunem că nu ne este convenabil să fie așa și am dori ca lista cu produse și pagina produsului să fie afișate una lângă alta, pe același ecran pentru o mai bună claritate. Să facem asta.

Pentru aceasta, să deschidem fișierul main.jsx și să facem pur și simplu ruta noastră pentru pagina cu produsul o rută copil a rutei rădăcină sau, cu alte cuvinte, să o "îmbricăm" în ruta rădăcină. Pentru aceasta vom folosi încă o proprietate a obiectului rută children:

const router = createBrowserRouter([ { path: '/', element: <Root />, errorElement: <ErrorPage404 />, children: [ { path: 'products/:productId', element: <Product />, }, ], }, ]);

Facem clic pe linkuri din nou, dar în dreapta listei de produse nu vedem nimic. Totul pentru că noi nu i-am spus rutei rădăcină unde vrem să afișăm rutele sale copil.

Tocmai pentru a reda elementele rutelor copil în părinte, ne va ajuta componenta Outlet. Să o importăm din bibliotecă în fișierul pentru ruta rădăcină:

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

Apoi să-l împachetăm într-un div #product și să-l adăugăm în layout-ul pentru ruta rădăcină la sfârșitul markup-ului după tag-ul de închidere nav, iar toată construcția să o mai împachetăm într-un div #main:

return ( <div id="main"> <nav> <a href={`/products/1`}>Product1</a> <a href={`/products/2`}>Product2</a> </nav> <div id="product"> <Outlet /> </div> </div> );

Făcând clic pe linkuri, acum vedem atât lista de produse cât și pagina produsului.

Să adăugăm puțin stil în index.css:

h1, h2 { margin: 0; } div#main { display: flex; margin: 20px; } div#product { margin-left: 40px; }

Luați aplicația creată de dvs. în sarcina din lecția precedentă. Folosind materialele lecției, faceți ruta pentru pagina studentului una îmbricată în ruta rădăcină.

Și acum faceți astfel încât la clic pe linkuri pe ecran să fie afișate atât lista studenților cât și pagina studentului.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge