⊗jsrxPmRDPPR 22 of 57 menu

Productpagina in de browser in Redux

In de vorige les hebben we een aparte pagina voor het product gemaakt. Nu moeten we ervoor zorgen dat wanneer er op een knop wordt geklikt, onze pagina in de browser verschijnt.

Laten we eerst een adres toewijzen waarop het wordt weergegeven. Laten we het bestand App.jsx openen, waarin we de routes specificeren, en voegen we in children nog een childroute toe (vergeet niet om ProductPage.jsx te importeren). Laten we het pad en de component specificeren die we gaan weergeven:

{ path: '/products/:productId', element: <ProductPage />, },

Laten we nu ProductsList.jsx openen in de map products en de code voor dispProducts een beetje aanpassen. Nu hebben we een aparte pagina met volledige informatie over elk product. Dat betekent dat we in de productlijst alleen de productnaam en een verkorte beschrijvingstekst zullen weergeven. We voegen ook een link toe in de vorm van een navigatie-element Link uit de routerbibliotheek, waarop geklikt kan worden om naar de productpagina te gaan. Laten we ook een div de klasse product-excerpt geven om de producten visueel te scheiden. Nu ziet onze code voor dispProducts er als volgt uit:

const dispProducts = products.map((product) => ( <div key={product.id} className="product-excerpt"> <h3>{product.name}</h3> <p>{product.desc.substring(0, 100)}</p> <Link to={`/products/${product.id}`} className="link-btn"> view </Link> </div> ))

Laten we Link importeren:

import { Link } from 'react-router-dom'

En laten we stijlen toevoegen voor de klassen link-btn en product-excerpt in index.css:

.product-excerpt { margin-top: 30px; border: 1px solid gray; border-radius: 5px; padding: 10px; } .link-btn { border: 1.5px solid gray; border-radius: 10px; background-color: coral; color: black; padding: 1px 12px 1px 12px; }

Tot slot, laten we ook de link in het menu links werkend maken, die naar de pagina met de productlijst leidt, zodat we erin kunnen komen vanaf elke andere plaats. Om dit te doen, openen we onze root.jsx en vervangen we deze regel code:

<a>Products</a>

Door de volgende:

<NavLink to="/products" end> Products </NavLink>

Laten we ook niet vergeten om NavLink te importeren uit de bibliotheek voor React router:

import { Outlet, NavLink } from 'react-router-dom'

Laten we onze applicatie starten. Nu kunnen we uitkomen op de informatiepagina van elk product door op de bekijkknop te klikken. Probeer nu een nieuw product toe te voegen en bekijk de informatie ervan op een aparte pagina door op de bekijkknop te klikken. Ook nu is het, om terug te keren naar de productlijst, voldoende om te klikken op 'Products' in het menu links. Terwijl je op verschillende pagina's bent, bekijk hoe de URL in de adresbalk van de browser verandert.

Open je applicatie met studenten. Maak in het bestand App.jsx nog een childroute voor de studentenpagina.

Breng in het bestand StudentsList.jsx wijzigingen aan in de code voor dispStudents, zoals getoond in de les.

Zorg ervoor dat de link 'Students' in het linkermenu naar de pagina met de lijst van studenten leidt. Controleer of alles werkt.

Bekijk hoe de waarde in de adresbalk van de browser verandert, afhankelijk van de pagina waarop je je momenteel bevindt.

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