⊗jsrtPmHkCUp 10 of 47 menu

Opdatering af kontekst i React

I denne lektion vil vi se på opdatering af komponenter, når kontekstværdien ændres. Antag, at du ønsker, at konteksten skal ændre sig.

I dette tilfælde er det nyttigt at anvende kontekst sammen med tilstande. Lad os en smule ændre vores applikation med kasser, som vi lavede i den forrige lektion og gøre det sådan, at ved at klikke på en knap bliver den overførte værdi 'metal box :)'.

Så, lad os tage vores fil App og efter BigBox tegne en lille knap:

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

Dernæst importerer vi hook'et useState og opretter en tilstand name, hvis værdi vil ændre sig ved et klik på knappen. Lad os give den en startværdi, som vi umiddelbart overførte som kontekstværdi, det vil sige 'small box :)':

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

Denne gang vil vi overføre ikke en streng som kontekst, men tilstanden name:

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

Som sidste trin vil vi kalde click-handleren på knappen og ved hjælp af funktionen setName indstille den nye værdi for tilstanden til 'metal box :)'. Efter dette kan du trykke på knappen og kontrollere resultatet:

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

Brug applikationen, som du oprettede ved løsning af opgaverne til den forrige lektion. Opret en tilstand age, som du vil overføre via kontekst i stedet for et tal fra App, indstil dens startværdi til 50. Tilføj under komponenten Parent i App en knap, hvor hvert klik på knappen reducerer værdien af tilstanden age med 2.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis