⊗jsrxPmBsCs 2 of 57 menu

Две базовые ideas en Redux

Antes de comenzar a estudiar la biblioteca Redux, familiaricémonos con sus dos ideas básicas. La primera idea, relacionada con la gestión del estado, la examinaremos mediante el ejemplo de un contador ordinario utilizando el estado en React:

function Counter() { // State const [count, setCount] = useState(0) // Action: function clickHandler() { setCount(count + 1) } // View: return ( <div> <span>{count}</span> <button onClick={clickHandler}>+</button> </div> ) }

En este código vemos el estado para la variable count - esta es la fuente de la verdad para el contador. Luego vemos una acción (action) - un evento, que al hacer clic el usuario provoca una actualización del estado. Y, finalmente, la vista (view), mediante la cual mostramos la interfaz de usuario.

Así que el esquema es bastante simple: se presiona el botón - el estado count (State) al presionar (Action) cambia, por consiguiente cambia la vista (View) - en nuestro caso es el número en la pantalla.

Sin embargo, todo se complicará si tenemos muchos componentes que deben utilizar un mismo estado. Se puede, por ejemplo, elevar el estado a componentes padres, pero esta solución no siempre puede resolver el problema. Redux en este caso nos propone crear un lugar único en la aplicación, que contenga el estado global y ciertos patrones de comportamiento al actualizar este estado. Precisamente en esto consiste la primera idea básica (!).

La segunda idea está relacionada con la inmutabilidad, es decir, con la inalterabilidad de los datos. Por supuesto, recuerdas de JavaScript que los arrays y objetos se pueden modificar. Modificar datos directamente en Redux, al igual que en otros frameworks, se considera una mala práctica y puede conducir a consecuencias impredecibles. Por lo tanto, en Redux nuestros objetos y arrays originales deben permanecer inmutables, y solo podemos modificar sus copias.

Explica en qué consiste la primera idea básica de Redux.

Explica en qué consiste la segunda idea básica de Redux.

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