⊗jsrtPmHkCUp 10 of 47 menu

Ažuriranje konteksta u Reactu

U ovoj lekciji ćemo razmotriti ažuriranje komponenti pri promeni vrednosti konteksta. Pretpostavimo da želite da se kontekst menja.

U ovom slučaju je korisno primeniti kontekst u vezi sa stanjima. Hajde da malo izmenimo našu aplikaciju sa kutijama koju smo pravili u prethodnoj lekciji i učinimo da po kliku na dugme prosledjena vrednost postane 'metal box :)'.

Dakle, uzećemo naš fajl App i posle BigBox nacrtaćemo dugme:

function App() { return ( <MyContext.Provider value="small box :)"> <BigBox /> <button>click</button> </MyContext.Provider> ); }

Zatim ćemo importovati kuk useState i napraviti stanje name, čija će se vrednost menjati po kliku na dugme. Dodelićemo mu početnu vrednost onu koju smo odmah prosledili kao vrednost konteksta, odnosno 'small box :)':

function App() { const [name, setName] = useState('small box :)'); }

Ovog puta ćemo putem konteksta proslediti ne string, već stanje name:

<MyContext.Provider value={name}> <BigBox /> <button>click</button> </MyContext.Provider>

Kao poslednji korak, pozvaćemo rukovaoca klika na dugme i pomoću funkcije setName postaviti novu vrednost stanja u 'metal box :)'. Posle toga možete da kliknete na dugme i proverite rezultat:

<button onClick={() => { setName('metal box :)'); }}>click</button>

Koristite aplikaciju koju ste napravili pri rešavanju zadataka za prethodnu lekciju. Napravite stanje age, koje ćete umesto broja proslediti putem konteksta iz App, postavite mu početnu vrednost 50. Dodajte ispod komponente Parent u App dugme, pri svakom kliku na koju će se vrednost stanja age smanjivati za 2.

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