⊗jsrtPmHkCUp 10 of 47 menu

Kontext-Update in React

In dieser Lektion betrachten wir die Aktualisierung von Komponenten bei einer Änderung des Kontextwerts. Nehmen wir an, Sie möchten, dass sich der Kontext ändert.

In diesem Fall ist es nützlich, den Kontext in Verbindung mit States anzuwenden. Lassen Sie uns unsere Anwendung mit den Kästchen, die wir in der letzten Lektion erstellt haben, ein wenig ändern und es so einrichten, dass beim Klicken auf einen Button der übergebene Wert zu 'metal box :)' wird.

Also, nehmen wir unsere Datei App und zeichnen nach dem BigBox einen Button:

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

Als nächstes importieren wir den Hook useState und legen einen State name an, dessen Wert sich beim Klicken des Buttons ändern wird. Wir setzen seinen Startwert auf den, den wir sofort als Kontextwert übergeben haben, also 'small box :)':

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

Dieses Mal werden wir mit dem Kontext nicht einen String, sondern den State name übergeben:

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

Als letzten Schritt werden wir einen Click-Handler für den Button aufrufen und mit der Funktion setName einen neuen Wert für den State auf 'metal box :)' setzen. Danach kann der Button geklickt und das Ergebnis überprüft werden:

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

Verwenden Sie die Anwendung, die Sie beim Lösen der Aufgaben aus der vorherigen Lektion erstellt haben. Legen Sie einen State age an, den Sie anstelle der Zahl mit Hilfe des Kontexts aus App übergeben werden. Setzen Sie seinen Anfangswert auf 50. Fügen Sie unter der Komponente Parent in App einen Button hinzu, bei jedem Klick auf den der Wert des States age um 2 verringert wird.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen