Redux
Redux es una librería para gestionar estado global en aplicaciones grandes.
Se utiliza cuando el estado es complejo o se comparte entre muchos componentes.
¿Qué problema resuelve Redux?
- Prop drilling excesivo
- Estado compartido complejo
- Flujo de datos difícil de seguir
Conceptos principales
- Store
- Actions
- Reducers
- Dispatch
Flujo de Redux
- Componente dispara una acción
- Reducer actualiza el estado
- Store notifica a los componentes
Redux Toolkit
Redux Toolkit simplifica Redux y es la forma recomendada actualmente.
Ejemplo básico con Redux Toolkit
import { createSlice } from "@reduxjs/toolkit";
const counterSlice = createSlice({
name: "counter",
initialState: { value: 0 },
reducers: {
increment: state => {
state.value += 1;
}
}
});
export const { increment } = counterSlice.actions;
export default counterSlice.reducer;
¿Cuándo usar Redux?
- Apps grandes
- Estado compartido global
- Lógica compleja
Para apps pequeñas, useContext suele ser suficiente.