🔄
Intermedio
6 min lecturaGestión de Estado
Redux, Context API y patrones de estado
Preguntas de Entrevista sobre Gestión de Estado
Domina patrones y herramientas de gestión de estado en aplicaciones frontend.
1. Context API de React
import { createContext, useContext, useState } from 'react';
const UserContext = createContext();
function UserProvider({ children }) {
const [user, setUser] = useState(null);
return (
<UserContext.Provider value={{ user, setUser }}>
{children}
</UserContext.Provider>
);
}
function useUser() {
const context = useContext(UserContext);
if (!context) {
throw new Error('useUser debe usarse dentro de UserProvider');
}
return context;
}
2. Redux Básico
// Slice
import { createSlice } from '@reduxjs/toolkit';
const counterSlice = createSlice({
name: 'counter',
initialState: { value: 0 },
reducers: {
increment: (state) => {
state.value += 1;
},
decrement: (state) => {
state.value -= 1;
}
}
});
// En componente
import { useSelector, useDispatch } from 'react-redux';
function Counter() {
const count = useSelector(state => state.counter.value);
const dispatch = useDispatch();
return (
<div>
<span>{count}</span>
<button onClick={() => dispatch(increment())}>+</button>
</div>
);
}
Mejores Prácticas
- ✓ Usa Context para estado global simple
- ✓ Usa Redux para estado complejo
- ✓ Mantén el estado normalizado
- ✓ Evita duplicación de estado
- ✓ Usa selectores memoizados