Principios de Redux

| Última modificación: 15 de marzo de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes cuáles son los principios de Redux? En desarrollo web, una de las herramientas más poderosas para gestionar el estado de las aplicaciones es Redux. Al igual que Ria (esa comunidad en constante crecimiento que se forma alrededor de tecnologías populares), Redux tiene su propia comunidad apasionada y activa. ¿Por qué? Porque Redux está basado en tres principios fundamentales que simplifican y optimizan el flujo de datos en las aplicaciones. A lo largo de este artículo, exploraremos cuáles son estos tres principios de Redux y cómo se aplican.

Principios de Redux

Principios de Redux

Fuente única de la verdad

Imagina que el estado de tu aplicación es como un tesoro guardado en un almacén llamado Redux. Este almacén, conocido como store, se convierte en la fuente única de la verdad para tu estado. Cuando optas por usar Redux, no estarás implementando múltiples almacenes o stores; en su lugar, emplearás un único store para administrar todo el estado. Esto significa que si decides llevar un estado a Redux, este se convierte en la verdad absoluta para ese estado.

Ya no tiene sentido mantener un estado duplicado en un componente. Por ejemplo, si estás desarrollando una aplicación de tweets y decides almacenar el listado de tweets en el store de Redux, ya no necesitas tener ese listado en el estado local del componente. Evitar la duplicación de estado es fundamental para mantener la integridad de los datos y evitar conflictos desincronizados.

El estado es de solo lectura

En Redux, el estado es como un preciado objeto que no se puede modificar directamente. No se permite la manipulación directa del estado. En lugar de ello, se sigue uno de los principios de Redux que dice que los cambios en el estado se realizan a través de funciones puras. Esto significa que, para cambiar el estado, se debe generar un nuevo estado en lugar de alterar el existente.

¿Y cómo se genera ese nuevo estado? Aquí es donde entran en juego las acciones. Las acciones son objetos JavaScript que describen los cambios que deseamos aplicarle al estado. Al despachar una acción, le estás indicando a Redux que deseas realizar un cambio y esa acción se encargará de generar el nuevo estado resultante.

Reducers, las manos mágicas del cambio de estado

Los reducers son las estrellas del espectáculo en Redux. Estas funciones son las encargadas de aplicar los cambios al estado y generar un nuevo estado como resultado. Cuando una acción se despacha, llega a un reducer, que evalúa la acción y decide cómo debe cambiar el estado en consecuencia. Los reducers son las verdaderas fuentes de lógica en Redux. Son los que definen cómo se modifica el estado en respuesta a una acción particular.

Una característica importante de los reducers es que siempre devuelven un nuevo objeto de estado, lo que garantiza la inmutabilidad del estado. Esto no solo ayuda a mantener la integridad de los datos, sino que también facilita el seguimiento de los cambios a lo largo del tiempo.

Ejemplo práctico para integrar Redux en una aplicación

Para entender mejor cómo se aplican estos principios de Redux en la práctica, consideremos un escenario donde tenemos una aplicación de gestión de tareas. Supongamos que deseamos agregar una nueva tarea a la lista existente. En lugar de manipular directamente el estado, crearíamos una acción que describa la adición de una tarea. Luego, un reducer se encargaría de manejar esa acción y generar un nuevo estado con la tarea agregada. De esta manera, seguimos los principios de Redux de una fuente única de la verdad y la inmutabilidad del estado.

// Principios de Redux
// Ejemplo de acción para agregar una tarea
const agregarTarea = (nuevaTarea) => {
  return {
    type: 'AGREGAR_TAREA',
    payload: nuevaTarea,
  };
};

// Ejemplo de reducer para manejar la acción de agregar tarea
const tareasReducer = (estadoActual, accion) => {
  if (accion.type === 'AGREGAR_TAREA') {
    return {
      ...estadoActual,
      tareas: [...estadoActual.tareas, accion.payload],
    };
  }
  return estadoActual;
};

Un paso más cerca del desarrollo web

¿Te gustaría sumergirte aún más en el emocionante mundo del desarrollo web y convertirte en un profesional altamente demandado? Si es así, te invitamos a explorar el Desarrollo Web Full Stack Bootcamp de KeepCoding. Este bootcamp transformador está diseñado para cambiar tu vida al prepararte para una carrera en el sector tecnológico. Con la alta demanda de profesionales en tecnología, este campo ofrece salarios competitivos y una estabilidad laboral que pocos otros sectores pueden igualar. No te pierdas la oportunidad de formar parte de esta emocionante industria y marcar el comienzo de una nueva y emocionante etapa en tu carrera profesional. ¡Entra y pide información ahora!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado