React Dojo

Buscar

Busca conceptos, ejercicios y quizzes

Entrevista · Patrones

HOC

Componentes que envuelven componentes

Un Higher-Order Component es una función que recibe un componente y devuelve uno nuevo con comportamiento adicional. Es el patrón de reutilización de lógica de la era pre-hooks — hoy los hooks lo reemplazan en la mayoría de casos, pero siguen apareciendo en código legacy y librerías.

La firma

const Mejorado = withAlgo(Componente). El HOC añade props, envuelve en providers, inyecta comportamiento — sin que el componente original sepa que está siendo envuelto. Por convención se nombran con prefijo with.

HOC vs Hook

Los hooks son más simples y componibles. Usa HOC cuando necesitas envolver el árbol JSX del componente (error boundaries, providers) o cuando trabajas con una librería que los requiere. Para lógica pura reutilizable, un hook personalizado es la opción moderna.

Tropiezos comunes

  • 01No definas HOCs dentro de un componente — se recrean en cada render y React desmonta/monta el árbol completo.
  • 02Los HOCs ocultan el origen de los props, dificultando el debugging. Con hooks, el origen siempre es explícito.
  • 03Al componer múltiples HOCs, el orden importa — se aplican de adentro hacia afuera.
¿Fue útil?
Inicia sesión para dar feedback