⊗jsrtPmHkCUp 10 of 47 menu

Mise à jour du contexte dans React

Dans cette leçon, nous examinerons la mise à jour des composants lors du changement de valeur du contexte. Supposons que vous souhaitiez que le contexte change.

Dans ce cas, il est utile d'appliquer le contexte en combinaison avec les états (states). Modifions un peu notre application avec les boîtes, que nous avons créée dans la leçon précédente et faisons en sorte qu'en cliquant sur un bouton la valeur transmise devienne 'metal box :)'.

Alors, prenons notre fichier App et après BigBox dessinons un bouton :

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

Ensuite, importons le hook useState et créons un état (state) name, dont la valeur sera modifiée par un clic sur le bouton. Donnons-lui comme valeur initiale celle que nous transmettions immédiatement comme valeur du contexte, c'est-à-dire 'small box :)' :

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

Cette fois, nous transmettrons via le contexte non pas une chaîne, mais l'état (state) name :

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

Comme dernière étape, nous appellerons le gestionnaire de clic sur le bouton et à l'aide de la fonction setName, nous définirons la nouvelle valeur de l'état sur 'metal box :)'. Après cela, vous pourrez cliquer sur le bouton et vérifier le résultat :

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

Utilisez l'application que vous avez créée lors de la résolution des tâches de la leçon précédente. Créez un état (state) age, que vous transmettrez via le contexte à la place du nombre depuis App, définissez sa valeur initiale sur 50. Ajoutez sous le composant Parent dans App un bouton, pour lequel à chaque clic la valeur de l'état age diminuera de 2.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser