⊗jsrtPmRtAL 42 of 47 menu

Actieve link markeren in React Router

Stel, we hebben meerdere producten toegevoegd aan onze applicatie en bekijken elk van de producten. Hoe kunnen we dan begrijpen op de pagina van welk product we ons momenteel bevinden? Laten we dit product in de lijst markeren, bijvoorbeeld met een vet lettertype en een bruine kleur, en als de link nog aan het laden is, dan in grijs.

Ga eerst naar de homepage, voeg 4 producten toe aan de lijst en voer voor elk daarvan gegevens in. Geef ze willekeurige namen.

Bij het markeren van de actieve link zal de component NavLink ons helpen, dit is een variant van de component Link, die op de hoogte is van de status van de gegevens. Meestal wordt hij gebruikt bij het maken van een navigatiemenu.

Laten we root.jsx openen en NavLink importeren (vergeet niet de import van Link te verwijderen, anders kan React gaan klagen, omdat we hem niet meer gebruiken):

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

Vervang vervolgens in de layout de component Link door NavLink:

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

En voeg de prop className toe, en gebruik ook conditionele logica. Als de pagina is geladen, gaat de link in de actieve status, als hij aan het laden is, dan in de laadstatus, en als er niets gebeurt, blijft hij zoals hij was. Afhankelijk hiervan zal de klasse van de link veranderen:

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

Het enige wat ons nog rest is stijlen toe te voegen voor de active en loading klassen in ons css-bestand:

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

Klaar! En klik nu op de producten in de lijst.

Neem de applicatie die je hebt gemaakt in de opdrachten bij de vorige lessen. Gebruikmakend van de lesmaterialen, implementeer daarin het markeren van de actieve link voor de lijst van studenten, zodat het duidelijk is van welke student de gebruiker op dit moment de gegevens bekijkt.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren