📖
Hook

useReducer

Alternativa ao useState para estado complexo com múltiplas transições.

📚 O que é

Recebe (reducer, initialState). O reducer é função pura (state, action) => newState. dispatch(action) dispara a transição. Centraliza lógica de state em um lugar.

✅ Quando usar

Estado com múltiplos sub-valores relacionados. Próximo state depende do atual de forma complexa. Lógica de transição que você quer testar isoladamente. +4 useState entrelaçados.

🚫 Quando NÃO usar

1-2 valores simples independentes. Estado que não tem lógica de transição complexa. Quando a simplicidade de useState é suficiente.

👍 Prós
Lógica centralizada e testável
Transições explícitas
Escala melhor que múltiplos useState
Padrão familiar (Redux-like)
👎 Contras
Mais verboso para casos simples
Boilerplate de action types
Não compartilha entre componentes sozinho
🔗 Termos relacionados