⊗jsrtPmHkCUp 10 of 47 menu

Actualización del contexto en React

En esta lección, consideraremos la actualización de componentes cuando cambia el valor del contexto. Supongamos que desea que el contexto cambie.

En este caso, es útil aplicar el contexto en combinación con los estados. Modifiquemos un poco nuestra aplicación de cajas que hicimos en la lección anterior y hagamos que al hacer clic en un botón el valor transmitido se convierta en 'metal box :)'.

Entonces, tomemos nuestro archivo App y después de BigBox dibujemos un botón:

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

A continuación, importemos el hook useState y creemos un estado name, cuyo valor cambiará al hacer clic en el botón. Establezcamos como valor inicial el que inmediatamente pasamos como valor del contexto, es decir, 'small box :)':

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

Esta vez, pasaremos a través del contexto no una cadena, sino el estado name:

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

Como último paso, llamaremos al controlador de clics del botón y con la función setName estableceremos el nuevo valor del estado en 'metal box :)'. Después de esto, podrás hacer clic en el botón y verificar el resultado:

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

Utilice la aplicación creada por usted al resolver las tareas de la lección anterior. Cree un estado age, que en lugar del número pasará mediante el contexto desde App, establezca su valor inicial en 50. Agregue debajo del componente Parent en App un botón, en el que cada clic reduzca el valor del estado age en 2.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar