 Comprensión del Papel de los Reducers
Comprensión del Papel de los Reducers
Teoría
Los reducers son funciones puras que especifican cómo debe cambiar el estado en respuesta a las acciones enviadas. Al recibir el estado actual y una acción como parámetros, los reducers devuelven el nuevo estado de la aplicación.
Práctica
En la carpeta reducers de nuestro proyecto, tenemos el archivo counterReducer.js donde definimos el reducer para la funcionalidad del contador:
import { createReducer } from "@reduxjs/toolkit";
import { increment, decrement } from "../actions/counterAction.js";
const initialState = 0;
const counterReducer = createReducer(initialState,
  (builder) => {
    builder
      .addCase(increment, (state) => state + 1)
      .addCase(decrement, (state) => state - 1);
});
export default counterReducer;
Explicación del código:
- Línea 1: Importa la función createReducerdel paquete@reduxjs/toolkit. Esta función se utiliza para crear reducers en Redux;
- Línea 2: Importa los creadores de acciones incrementydecrementdel archivo../actions/counterAction.js. Estos creadores de acciones se utilizan para definir las acciones que manejará el reducer;
- Línea 4: Define la constante initialStateen0. Esto representa el valor inicial del contador en el store de Redux;
- Línea 6: Utiliza la función createReducerpara definir elcounterReducer;
- Líneas 6-11: La función createReducerrecibe dos argumentos: elinitialStatey una función de callback que define cómo debe actualizarse el estado según las acciones enviadas;
- Línea 7: Utiliza el objeto builderpara definir los casos para diferentes acciones dentro de la función de callback;
- Líneas 9, 10: Utiliza el método addCasedel objetobuilderpara definir cómo debe actualizarse el estado cuando se envían acciones específicas, comoincrementydecrement;
- Líneas 9, 10: La función de callback dentro de addCaserecibe el estado actual (state) como argumento y devuelve el nuevo estado después de aplicar la acción correspondiente;
- En este caso, cuando se envía la acción increment, el estado se incrementa en1; cuando se envía la accióndecrement, el estado se decrementa en1;
- Línea 13: Finalmente, exporta el counterReducercomo exportación por defecto del módulo.
Nota
En resumen, el
counterReducergestionará las acciones enviadas y actualizará el estado del contador en el store de Redux según corresponda.
1. ¿Qué función se utiliza para crear reducers en Redux?
2. ¿Cuál es el propósito del objeto builder en el código?
3. Cuando se despacha la acción increment, ¿qué sucede con el estado?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 4.17 Comprensión del Papel de los Reducers
Comprensión del Papel de los Reducers
Desliza para mostrar el menú
Teoría
Los reducers son funciones puras que especifican cómo debe cambiar el estado en respuesta a las acciones enviadas. Al recibir el estado actual y una acción como parámetros, los reducers devuelven el nuevo estado de la aplicación.
Práctica
En la carpeta reducers de nuestro proyecto, tenemos el archivo counterReducer.js donde definimos el reducer para la funcionalidad del contador:
import { createReducer } from "@reduxjs/toolkit";
import { increment, decrement } from "../actions/counterAction.js";
const initialState = 0;
const counterReducer = createReducer(initialState,
  (builder) => {
    builder
      .addCase(increment, (state) => state + 1)
      .addCase(decrement, (state) => state - 1);
});
export default counterReducer;
Explicación del código:
- Línea 1: Importa la función createReducerdel paquete@reduxjs/toolkit. Esta función se utiliza para crear reducers en Redux;
- Línea 2: Importa los creadores de acciones incrementydecrementdel archivo../actions/counterAction.js. Estos creadores de acciones se utilizan para definir las acciones que manejará el reducer;
- Línea 4: Define la constante initialStateen0. Esto representa el valor inicial del contador en el store de Redux;
- Línea 6: Utiliza la función createReducerpara definir elcounterReducer;
- Líneas 6-11: La función createReducerrecibe dos argumentos: elinitialStatey una función de callback que define cómo debe actualizarse el estado según las acciones enviadas;
- Línea 7: Utiliza el objeto builderpara definir los casos para diferentes acciones dentro de la función de callback;
- Líneas 9, 10: Utiliza el método addCasedel objetobuilderpara definir cómo debe actualizarse el estado cuando se envían acciones específicas, comoincrementydecrement;
- Líneas 9, 10: La función de callback dentro de addCaserecibe el estado actual (state) como argumento y devuelve el nuevo estado después de aplicar la acción correspondiente;
- En este caso, cuando se envía la acción increment, el estado se incrementa en1; cuando se envía la accióndecrement, el estado se decrementa en1;
- Línea 13: Finalmente, exporta el counterReducercomo exportación por defecto del módulo.
Nota
En resumen, el
counterReducergestionará las acciones enviadas y actualizará el estado del contador en el store de Redux según corresponda.
1. ¿Qué función se utiliza para crear reducers en Redux?
2. ¿Cuál es el propósito del objeto builder en el código?
3. Cuando se despacha la acción increment, ¿qué sucede con el estado?
¡Gracias por tus comentarios!