⊗jsrxPmWFRSD 14 of 57 menu

Dobijanje podataka iz store-a u komponenti u Redux-u

Na ovom času ćemo prikazati podatke iz store-a u React komponenti.

Otvorimo našu aplikaciju sa proizvodima, uđimo u folder parts/products i kreirajmo u njemu fajl ProductsList.jsx. Za početak uvežimo u njega hook useSelector, pomoću kojeg ćemo dobijati podatke iz store-a:

import { useSelector } from 'react-redux'

Sada hajde da dobijemo proizvode iz store-a. Funkciju-selektor nećemo kreirati odvojeno, napisaćemo njen kod odmah u parametru za useSelector:

export const ProductsList = () => { const products = useSelector((state) => state.products) }

Zatim ćemo prikazati proizvode standardnim načinom u telu funkcije ProductsList posle linije sa dobijanjem proizvoda, koristeći map:

const dispProducts = products.map((product) => ( <div key={product.id}> <h3>{product.name}</h3> <p>{product.desc.substring(0, 100)}</p> <p>Price: {product.price}</p> <p>Amount: {product.amount}</p> </div> ))

A ispod prikažimo dispProducts u sledećoj verstki:

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

Sada je ostalo da prikažemo naš spisak proizvoda na glavnoj stranici. Otvorimo fajl root.jsx i ispravimo naslov:

<h2>This is my first Redux app!</h2>

Na sledeći:

<h2>My Products App</h2>

Zatim uvežimo u fajl komponentu ProductsList:

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

I umetnimo ga u div sa ID-jem main-page odmah posle zatvarajućeg taga hr:

<ProductsList />

Pokrenimo našu aplikaciju. Naš spisak iz dva proizvoda uspešno se prikazao na glavnoj stranici.

Otvorite vašu aplikaciju sa studentima. Kreirajte fajl StudentsList.jsx u folderu students.

Dobijte studente iz store-a pomoću huka useSelector, kao što je opisano na času. Prikažite sva polja sa informacijama o studentima iz state-a, koristeći se map.

Uvezite dobijenu komponentu StudentsList u root.jsx i prikažite je na glavnoj stranici. Uverite se, da su se sve informacije o studentima prikazale na ekranu.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij