⊗jsrtPmHkCUp 10 of 47 menu

Uppdatera kontext i React

I den här lektionen kommer vi att titta på uppdatering av komponenter när kontextens värde ändras. Anta att du vill att kontexten skall förändras.

I det här fallet är det användbart att använda kontext i kombination med state. Låt oss ändra vår applikation med lådor som vi gjorde i förra lektionen och göra så att när man klickar på en knapp blir det överförda värdet 'metal box :)'.

Så, ta vår fil App och efter BigBox ritar vi en knapp:

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

Därefter importerar vi hooken useState och skapar ett state name, vars värde kommer att ändras vid klick på knappen. Låt oss ge det ett startvärde som vi omedelbart skickade som kontextvärde, det vill säga 'small box :)':

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

Den här gången kommer vi att skicka inte en sträng som kontext, utan state name:

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

Som ett sista steg kommer vi att anropa en klickhanterare för knappen och med hjälp av funktionen setName sätta ett nytt värde för state till 'metal box :)'. Efter detta kan du klicka på knappen och kontrollera resultatet:

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

Använd applikationen som du skapade när du löste uppgifterna till föregående lektion. Skapa ett state age, som du istället för ett tal kommer att skicka via kontext från App, sätt dess startvärde till 50. Lägg till under komponenten Parent i App en knapp, där varje klick på den minskar state-värdet age med 2.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa