⊗jsrtPmCpPr 81 of 112 menu

Komponendi propsid Reactis

Eelmises õppetükis kuvasime mitu toodete eksemplari:

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

Praegu kuvab iga toodete sildi kutsumine ekraanile sama asja. Teeme nüüd iga toode unikaalseks.

Oletame näiteks, et igal tootel peab olema nimi ja hind. Teeme nii, et iga toodete sildi kutsumine kuvaks toote oma nime ja hinnaga, vormindatuna meile vajalikku veebilehe kujundusse.

Selleks peame tegema mitu sammu.

Alustuseks toodete sildi kutsumisel me kirjutame sellesse silti kaks atribuuti: atribuudi name toote nimega ja atribuudi cost hinnaga, niimoodi:

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

Nende atribuutide nimed ja väärtused jõuavad objektina meie komponendi Product konstruktor-funktsiooni esimesse parameetrisse:

function Product(props) { console.log(props); // objekt võtmetega name ja cost return <p> product </p>; }

Parameetri nimi võib olla mis tahes, kuid Reactis on tavaks nimetada seda props. Tegelikult ei ole see lihtsalt parameetri nimi, vaid oluline Reacti kontseptsioon.

Selle kontseptsiooni sisu on järgmine: komponendi sildi kutsumisel saab sellesse silti kirjutada andmetega atribuute. Need andmed jõuavad komponendi propsidesse. Seejärel saab komponent neid andmeid kasutada, näiteks vajaliku veebilehe kujunduse loomiseks.

Teeme selle:

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

Mugavam ja tavapärasem on mitte kasutada objekti props, vaid koheselt teha destruktureerimist propsidest otse funktsiooni parameetrites:

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

Tehke komponent Employee, mis kuvab töötaja andmed ekraanile. Olgu nende andmeteks perekonnanimi, eesnimi, isanimi ja palk. Vormindage need andmed teile vajalikku veebilehe kujundusse. Kuvage komponendis App kolm töötajat erinevate andmetega.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu