⊗jsrtPmHkCUp 10 of 47 menu

Aktualizace kontextu v Reactu

V této lekci se podíváme na aktualizaci komponent při změně hodnoty kontextu. Předpokládejme, že budete chtít, aby se kontext měnil.

V tomto případě je užitečné používat kontext ve spojení se stavy. Pojďme trochu upravit naši aplikaci s krabičkami, kterou jsme dělali v minulé lekci a uděláme to, aby po kliknutí na tlačítko předávaná hodnota změnila na 'metal box :)'.

Takže, vezmeme náš soubor App a po BigBox nakreslíme tlačítko:

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

Dále importujeme hook useState a zavedeme state name, jehož hodnota se bude měnit po kliknutí na tlačítko. Nastavíme mu počáteční hodnotu tu, kterou jsme ihned předávali hodnotou kontextu, tedy 'small box :)':

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

Tentokrát kontextem budeme předávat ne řetězec, ale state name:

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

Jako poslední krok budeme volat obsluhu kliknutí na tlačítko a pomocí funkce setName nastavovat novou hodnotu stavu na 'metal box :)'. Poté bude možné kliknout na tlačítko a vyzkoušet výsledek:

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

Použijte aplikaci, kterou jste vytvořili při řešení úloh k předchozí lekci. Zaveďte state age, který budete místo čísla předávat pomocí kontextu z App, nastavte mu počáteční hodnotu 50. Přidejte pod komponentu Parent v App tlačítko, při každém kliknutí na které se hodnota stavu age sníží o 2.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout