⊗jsrtPmRtNR 27 of 47 menu

Geneste roetes in React Router

In hierdie les sal ons kennis maak met geneste roetes. Begin die aansoek wat ons laas les gedoen het. Deur op die skakels te kliek, kom ons op 'n aparte produkbladsy. Gestel, dit is vir ons ongerieflik en ons sou wou hê dat die produklys en die produkbladsy langs mekaar vertoon word, op een skerm vir beter duidelikheid. Kom ons doen dit so.

Hiervoor, laat ons die lêer main.jsx oopmaak en maak eenvoudig ons roete vir die produkbladsy 'n subroete van die wortelroete of, met ander woorde, "nest" dit in die wortelroete. Vir hierdie gebruik ons 'n ander eienskap van die roete-objek children:

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

Ons kliek weer op die skakels, maar regs van die lys produkte sien ons niks. Dit is omdat ons nie vir die wortelroete gesê het waar ons sy subroetes wil vertoon nie.

Presies om die elemente van subroetes in die ouer te vertoon, sal die komponent Outlet ons help. Kom ons voer dit in vanuit die biblioteek in die lêer vir die wortelroete:

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

Omring dit dan met 'n div #product en voeg dit by die uitleg vir die wortelroete aan die einde van die opmaak na die sluitingsetikette nav, en omring die hele konstruksie nog met een 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> );

Deur op die skakels te kliek, sien ons nou beide die produklys en die produkbladsy.

Kom ons voeg 'n bietjie style by in ons index.css:

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

Neem die aansoek wat jy geskep het in die opdrag van die vorige les. Deur gebruik te maak van die materiaal van die les, maak die roete vir die studentebladsy 'n geneste roete in die wortel.

Maak dit nou so dat met 'n kliek op die skakels, beide die studentelys en die studentebladsy op die skerm vertoon word.

Afrikaans
Azə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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp