⊗jsrtPmRtNR 27 of 47 menu

Iegultās maršruti React Router

Šajā nodarbībā mēs iepazīsimies ar iegultajiem maršrutiem. Palaidiet lietotni, ko mēs veidojām iepriekšējā nodarbībā. Noklikšķinot uz saitēm, mēs nonākam atsevišķā produktu lapā. Pieņemsim, ka mums tas ir neērti, un mēs vēlētos, lai produktu saraksts un produkta lapa tiktu rādīti blakus, uz viena ekrana, lai būtu pārskatāmāk. Darīsim tā.

Lai to izdarītu, atvērsim failu main.jsx un vienkārši padarīsim mūsu maršrutu produkta lapai par saknes maršruta pakārtoto maršrutu jeb, citiem vārdiem sakot, "iegulstam" to saknes maršrutā. Lai to izdarītu, izmantosim vēl vienu maršruta objekta īpašību children:

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

Noklikšķinam vēlreiz uz saitēm, bet pa labi no saraksta ar produktiem mēs neko neredzam. Tas ir tāpēc, ka mēs neesam norādījuši saknes maršrutam, kur mēs vēlamies attēlot tā pakārtotos maršrutus.

Tieši pakārtoto maršrutu elementu attēlošanai vecākajā maršrutā mums palīdzēs komponents Outlet. Importēsim to no bibliotēkas failā saknes maršrutam:

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

Pēc tam ietīsim to div #product un pievienosim saknes maršruta izkārtojumam markup beigās aiz aizverošā taga nav, un visu konstrukciju ietīsim vēl vienā 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> );

Noklikšķinot uz saitēm, tagad mēs redzam gan produktu sarakstu, gan produkta lapu.

Pievienosim mazliet stilus mūsu index.css:

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

Paņemiet lietotni, ko izveidojāt iepriekšējās nodarbības uzdevumā. Izmantojot nodarbības materiālus, padariet maršrutu studenta lapai par iegultu saknes maršrutā.

Un tagad dariet tā, lai, noklikšķinot uz saitēm, ekrānā tiktu parādīts gan studentu saraksts, gan studenta lapa.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt