⊗jsrxPmRDInr 20 of 57 menu

Praca z danymi w Redux

W poprzedniej sekcji zaimplementowaliśmy podstawowy schemat działania Redux i teraz znasz główne zasady działania aplikacji Redux. W kolejnych lekcjach zaczniemy uzupełniać funkcjonalność naszej aplikacji z produktami i popracujemy z danymi.

Ponieważ aplikacja będzie obrastać w nowe komponenty i trasy, zróbmy z routingiem jedną rzecz. Otwórz aplikację z produktami, następnie plik root.jsx. Zaimportuj do niego komponent Outlet, przy tym usuń linijki z importem ProductsList i NewProductForm:

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

Teraz komponent Root będzie wyświetlany w ścieżce głównej '/', a wszystkie inne komponenty w potomnych w Outlet. W tym celu nieco poprawmy znacznik diva #main-page dla komponentu Root:

<div id="main-page"> <h2>My Products App</h2> <hr></hr> <NewProductForm /> <ProductsList /> </div>

Tutaj umieścimy Outlet zamiast komponentów NewProductForm i ProductsList:

<div id="main-page"> <h2>My Products App</h2> <hr></hr> <Outlet /> </div>

Formularz do dodawania produktów będziemy teraz wyświetlać w ProductsList. Otwórzmy plik z tym komponentem i dodajmy import formularza:

import { NewProductForm } from './NewProductForm'

A teraz dodajmy komponent z formularzem bezpośrednio przed listą produktów. Teraz nasz znacznik będzie wyglądać tak:

return ( <div> <NewProductForm /> <div> <h2>Products</h2> {dispProducts} </div> </div> )

Dopiszmy styl dla klasy products-list w index.css:

.products-list { display: flex; flex-direction: column; }

Pozostaje nam tylko wprowadzić zmiany w głównym komponencie App. Otwórzmy App.jsx i zaimportujmy do niego komponent ProductsList:

import { ProductsList } from './parts/products/ProductsList'

Następnie dla naszej na razie jedynej trasy, będącej główną, dodajmy właściwość children:

const router = createBrowserRouter([ { path: '/', element: <Root />, children: [] }, ])

I wpiszmy jako wartość tej właściwości pierwszą trasę potomną. Jako ścieżkę ustawmy mu 'products'. Teraz pod tym adresem będzie wyświetlana nasza lista z produktami ProductsList:

children: [ { path: '/products', element: <ProductsList />, }, ],

Uruchommy naszą aplikację i upewnijmy się, że nic nie zepsuliśmy. W głównym '/' widzimy tylko tytuł. A formularz i lista produktów schowały się pod adresem '/products'.

Otwórz twoją aplikację ze studentami. W pliku root.jsx zamień komponenty StudentsList i NewStudentForm na Outlet.

Niech teraz formularz do dodawania studenta wyświetla się u ciebie w StudentsList.

Wprowadź zmiany w twoim głównym komponencie App. Dodaj do trasy głównej potomną, ze ścieżką '/students', pod którą będzie wyświetlany twój StudentsList. Uruchom aplikację i upewnij się, że u ciebie wszystko działa.

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ć