TechLead
🔄
Intermedio
6 min lectura

Gestió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