⊗jsrtPmRtAL 42 of 47 menu

Theksimi i Lidhjes Aktive në React Router

Supozoni se kemi shtuar disa produkte në aplikacionin tonë dhe po shikojmë secilin prej produkteve. Si mund të kuptojmë në faqen e cilit produkt jemi aktualisht? Le ta theksojmë atë produkt në listë, për shembull me shkronja të trasha dhe ngjyrë kafe, dhe nëse lidhja është duke u ngarkuar, atëherë me gri.

Për të filluar, shkoni në faqen kryesore, shtoni në listë 4 produkte dhe për secilin prej tyre vendosni të dhënat. Jepuni atyre çdo emër.

Në theksimin e lidhjes aktive do të na ndihmojë komponenti NavLink, ky është një nënlloj i komponentit Link, i cili njeh gjendjen e të dhënave. Zakonisht përdoret gjatë krijimit të një menuje navigimi.

Le të hapim root.jsx dhe të importojmë NavLink (mos harroni të hiqni importin e Link, përndryshe React mund të ankohet, sepse ne nuk e përdorim më):

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

Pastaj në layout, le të zëvendësojmë komponentin Link me NavLink:

<NavLink key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>unnamed</i>} </NavLink>

Dhe t'i shtojmë prop className, si dhe të përdorim logjikë të kushtëzuar. Nëse faqja është ngarkuar, atëherë lidhja do të shkojë në gjendje aktive, nëse po ngarkohet, atëherë në gjendje ngarkimi, nëse asgjë nuk po ndodh, atëherë do të mbetet e njëjtë. Në varësi të kësaj do të ndryshojë klasa e lidhjes:

<NavLink key={product.id} to={`products/${product.id}`} className={({ isActive, isPending }) => isActive ? 'active' : isPending ? 'loading' : '' } > {product.name ? product.name : <i>Unnamed</i>} </NavLink>

Na mbetet të shtojmë stile për klasat active dhe loading në skedarin tonë css:

a.active { font-weight: bold; color: brown; } a.loading { color: gray; }

Gati! Dhe tani klikoni në produktet në listë.

Merrni aplikacionin e krijuar nga ju në detyrat e mësimeve të mëparshme. Duke përdorur materialet e mësimit, implementoni në të theksimin e lidhjes aktive për listën e studentëve në mënyrë që të jetë e qartë të dhënat e cilit student përdoruesi po i shikon aktualisht.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo