⊗jsrtPmCpPr 81 of 112 menu

Props komponenti u Reactu

U prethodnoj lekciji prikazali smo nekoliko instanci proizvoda:

function App() { return <div> <Product /> <Product /> <Product /> </div>; }

Za sada svaki poziv taga sa proizvodom prikazuje istu stvar na ekranu. Hajde sada da napravimo svaki proizvod jedinstvenim.

Neka, na primer, svaki proizvod ima naziv i cenu. Učinimo da svaki poziv taga sa proizvodom prikazuje proizvod sa svojim imenom i cenom, formatiranim u željeni izgled.

Za ovo moramo da pređemo nekoliko koraka.

Za početak, prilikom poziva taga sa proizvodom, u ovaj tag ćemo pisati dva atributa: atribut name sa nazivom proizvoda i atribut cost sa cenom, ovako:

function App() { return <div> <Product name="product1" cost="100" /> <Product name="product2" cost="200" /> <Product name="product3" cost="300" /> </div>; }

Imena i vrednosti ovih atributa će doći u obliku objekta u prvi parametar funkcije-konstruktora naše komponente Product:

function Product(props) { console.log(props); // objekat sa ključevima name i cost return <p> product </p>; }

Ime parametra može biti bilo koje, ali u Reactu je uobičajeno da se zove props. U stvari, ovo nije samo ime parametra, već važan koncept Reacta.

Suština ovog koncepta je sledeća: prilikom poziva taga komponente u ovaj tag se mogu upisivati atributi sa podacima. Ovi podaci će doći u props komponente. Zatim komponenta može da koristi ove podatke, na primer, za kreiranje željenog izgleda.

Hajde da to uradimo:

function Product(props) { return <p> name: <span>{props.name}</span>, cost: <span>{props.cost}</span> </p>; }

Pogodnije i prihvaćenije je ne koristiti objekat props, već odmah izvršiti destrukturiranje props direktno u parametrima funkcije:

function Product({ name, cost }) { return <p> name: <span>{name}</span>, cost: <span>{cost}</span> </p>; }

Napravite komponentu Employee koja prikazuje podatke o zaposlenom na ekranu. Neka ovi podaci budu prezime, ime, srednje ime i plata. Formatirajte ove podatke u željeni izgled. Prikažite u komponenti App tri zaposlena sa različitim podacima.

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