⊗jsrxPmRDInr 20 of 57 menu

Tietojen käsittely Reduxissa

Edellisessä osassa toteutimme perus- Redux-kaavion, ja nyt tiedät Redux- sovelluksen perusperiaatteet. Seuraavilla oppitunneilla alamme laajentaa tuotteisiin liittyvän sovelluksemme toiminnallisuutta ja työskennellä tietojen kanssa.

Koska sovellus tulee saamaan uusia komponentteja ja reittejä, tehkäämme reitityksen kanssa yksi asia. Avaa tuotesovellus, sitten tiedosto root.jsx. Tuo siihen komponentti Outlet, poista samalla rivit, joissa tuodaan ProductsList ja NewProductForm:

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

Nyt komponenttia Root näytetään juuripolussa '/', ja kaikki muut komponentit alipolussa Outlet:ssa. Tätä varten korjaamme hieman divin #main-page ulkoasua komponentille Root:

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

Tähän laitamme Outlet:n tilalle komponentit NewProductForm ja ProductsList:

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

Lomakkeen tuotteiden lisäämiseksi näytämme nyt ProductsList:ssä. Avataan tiedosto tämän komponentin kanssa ja lisätään lomakkeen tuonti:

import { NewProductForm } from './NewProductForm'

Ja nyt lisätään lomakekomponentti suoraan ennen tuotelistaa. Nyt ulkoasumme näyttää tältä:

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

Kirjoitetaan tyyli luokalle products-list tiedostoon index.css:

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

Meidän on enää tehtävä muutoksia pääkomponenttiin App. Avataan App.jsx ja tuodaan siihen komponentti ProductsList:

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

Sitten ainoalle reitillemme toistaiseksi, joka on juurireitti, lisätään ominaisuus children:

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

Ja määritetään tämän ominaisuuden arvoksi ensimmäinen alareitti. Poluksi aseta sille 'products'. Nyt tällä osoitteessa näytetään tuotelistamme ProductsList:

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

Käynnistetään sovelluksemme ja varmistetaan, että emme rikkoneet mitään. Juuressa '/' näemme vain otsikon. Lomake ja tuotelista piilotettiin osoitteeseen '/products'.

Avaa opiskelijasovelluksesi. Tiedostossa root.jsx korvaa komponentit StudentsList ja NewStudentForm komponentilla Outlet.

Olkoon opiskelijan lisäyslomake nyt StudentsList:ssäsi.

Tee muutokset pääkomponenttiisi App. Lisää juurireitille alareitti, jossa on polku '/students', ja jossa näytetään StudentsList:si. Käynnistä sovellus ja varmista, että kaikki toimii.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää