⊗jsrxPmRDPPR 22 of 57 menu

Strona produktu w przeglądarce w Redux

Na poprzednich zajęciach zrobiliśmy osobną stronę dla produktu. Teraz musimy sprawić, aby po naciśnięciu jakiegoś przycisku nasza strona pojawiła się w przeglądarce.

Na początek przypiszmy jej adres, pod którym będzie wyświetlana. Otwórzmy plik App.jsx, w którym definiujemy trasy, i dodajmy w children jeszcze jedną trasę potomną (nie zapomnij zaimportować ProductPage.jsx). Wskażmy ścieżkę i komponent, który będziemy wyświetlać:

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

Teraz otwórzmy ProductsList.jsx w folderze products i nieco zmieńmy kod dla dispProducts. Teraz mamy osobną stronę z pełną informacją o każdym produkcie. Oznacza to, że w liście produktów będziemy wyświetlać tylko nazwę produktu i skrócony tekst opisu. Dodamy również link w postaci elementu nawigacji Link z biblioteki routera, po naciśnięciu którego można będzie przejść na stronę produktu. Dodajmy również divowi klasę product-excerpt, aby oddzielić produkty. Teraz nasz kod dla dispProducts będzie taki:

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> ))

Zaimportujmy Link:

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

I dodajmy stylów dla klas link-btn i product-excerpt w 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; }

Na koniec, zróbmy również działającym link w menu po lewej stronie, prowadzący na stronę z listą produktów, abyśmy mogli się do niego dostać z dowolnego innego miejsca. Aby to zrobić, otwórzmy nasz root.jsx i zamieńmy ten wiersz kodu:

<a>Products</a>

Na następujący:

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

Nie zapomnijmy też zaimportować NavLink z biblioteki dla React routera:

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

Uruchommy naszą aplikację. Teraz możemy przejść na stronę informacji o dowolnym produkcie, naciskając przycisk podglądu. Spróbuj teraz dodać nowy produkt i zobacz informacje o nim na osobnej stronie naciskając przycisk podglądu. Również teraz, aby wrócić do listy produktów wystarczy kliknąć na 'Products' w menu po lewej stronie. Znajdując się na różnych stronach, popatrz jak zmienia się URL w pasku adresu przeglądarki.

Otwórz swoją aplikację ze studentami. W pliku App.jsx utwórz jeszcze jedną trasę potomną dla strony studenta.

W pliku StudentsList.jsx wprowadź w kodzie zmiany dla dispStudents, jak pokazano na lekcji.

Spraw, aby link 'Students' w lewym menu prowadził na stronę z listą studentów. Sprawdź, czy wszystko działa.

Zobacz jak będzie zmieniać się wartość w pasku adresu przeglądarki, w zależności od tego na której stronie się teraz znajdujesz.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć