⊗jsrtPmRtNR 27 of 47 menu

Ծածկված երթուղիներ React Router-ում

Այս դասում մենք կծանոթանանք ծածկված երթուղիներին: Գործարկեք այն հավելվածը, որը մենք արել էինք նախորդ դասին: Հղումներին կտտացնելով՝ մենք հայտնվում ենք ապրանքի առանձին էջում: Ենթադրենք, մեզ անհարմար է, որ այդպես է, և մենք կցանկանայինք, որ ապրանքների ցանկը և ապրանքի էջը ցուցադրվեին կողք կողքի, մեկ էկրանին, ավելի տեսանելի լինելու համար: Եկեք այդպես անենք:

Դրա համար եկեք բացենք main.jsx ֆայլը ու պարզապես դարձնենք ապրանքի էջի համար նախատեսված մեր երթուղին արմատային երթուղու զավակ երթուղի կամ, այլ կերպ ասած՝ «ծածկենք» այն արմատային երթուղու մեջ: Դրա համար կօգտագործենք երթուղու օբյեկտի ևս մեկ հատկություն՝ children:

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

Կրկին կտտացնում ենք հղումներին, բայց ապրանքների ցանկից աջ մենք ոչինչ չենք տեսնում: Դրա պատճառն այն է, որ մենք արմատային երթուղուն չենք ասել, թե որտեղ ենք ցանկանում ցուցադրել նրա զավակ երթուղիները:

Զավակ երթուղիների էլեմենտները ծնողի մեջ նկարելու համար մեզ կօգնի Outlet կոմպոնենտը: Եկեք այն իմպորտենք գրադարանից դեպի արմատային երթուղու ֆայլ:

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

Այնուհետև փաթաթենք այն div #product -ի մեջ ու ավելացնենք արմատային երթուղու մակետի մեջ վերստի վերջում՝ nav փակվող թեգից հետո, և ամբողջ կոնստրուկցիան ևս մեկ 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> );

Հղումներին կտտացնելով՝ այժմ մենք տեսնում ենք և՛ ապրանքների ցանկը, և՛ ապրանքի էջը:

Մեր index.css ֆայլին ավելացնենք մի քանի սթայլ:

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

Վերցրեք ձեր կողմից նախորդ դասի առաջադրանքի համար ստեղծված հավելվածը: Օգտագործելով դասի նյութերը՝ դարձրեք ուսանողի էջի երթուղին ծածկված արմատայինի մեջ:

Իսկ այժմ արեք այնպես, որ հղումներին կտտացնելիս էկրանին ցուցադրվի և՛ ուսանողների ցանկը, և՛ ուսանողի էջը:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել