useReducer: Máquinas de Estado para Componentes

Lectura
25 min~2 min lectura
Objetivo de la lección

useReducer: máquinas de estado para componentes useReducer ayuda cuando el estado de un componente tiene muchas transiciones posibles.

Puntos de control
  • useReducer: máquinas de estado para componentes
  • Cuándo usar useReducer
  • Regla práctica
  • Ejercicio: formulario con reducer

useReducer: máquinas de estado para componentes

useReducer ayuda cuando el estado de un componente tiene muchas transiciones posibles. En lugar de repartir lógica en varios setState, centralizás cambios en un reducer que recibe estado actual y una acción.

Cuándo usar useReducer

  • Cuando el nuevo estado depende del estado anterior.
  • Cuando hay varias acciones: cargar, éxito, error, reset, editar, guardar.
  • Cuando querés que la lógica sea testeable como función pura.
  • Cuando el componente ya tiene demasiados useState relacionados.
const initialState = { status: "idle", data: null, error: null };

function reducer(state, action) {
  switch (action.type) {
    case "loading":
      return { ...state, status: "loading", error: null };
    case "success":
      return { status: "success", data: action.payload, error: null };
    case "error":
      return { ...state, status: "error", error: action.error };
    case "reset":
      return initialState;
    default:
      return state;
  }
}

Regla práctica

Si te cuesta nombrar las acciones, todavía no entendés bien el flujo del componente. Escribí primero los estados posibles y después las transiciones.

Ejercicio: formulario con reducer

Convertí un formulario con estados separados de loading, error, success y valores a un reducer. Agregá acciones para editar campo, enviar, guardar con éxito y fallar.

Mini-rúbrica

  • El reducer no muta el estado original.
  • Las acciones tienen nombres claros.
  • El componente queda más legible que antes.
Laboratorio de práctica

Antes de marcar esta lección como completa, escribí una evidencia breve para React Intermedio: Patrones y Optimización: un ejemplo, una decisión, una captura, una mini demo o una nota que puedas reutilizar en portfolio.

Reflexión rápida

¿Qué cambiarías en tu forma de trabajar después de aplicar usereducer: máquinas de estado para componentes?

De lección a portfolio

Convertí esta lección en una prueba técnica visible.

Una app pequeña publicada, con README y decisiones explicadas, funciona mejor que una lista de tecnologías sueltas.

Paso 1

Creá una demo mínima que use el concepto de la lección.

Paso 2

Escribí un README corto con objetivo, stack, decisión técnica y mejora futura.

Paso 3

Publicá la demo y enlazala desde tu perfil profesional.

Newsletter Cursalo

Recibí rutas y cursos nuevos

Sumate para recibir recursos orientados a empleo y portfolio.

  • Rutas de empleo
  • Cursos prácticos
  • Portfolio y entrevistas

Sin spam. También podés entrar con tu cuenta para guardar progreso. Iniciá sesión

useReducer: Máquinas de Estado para Componentes | CursaloFalar no WhatsApp