React Dojo

Buscar

Busca conceptos, ejercicios y quizzes

Entrevista · Rendimiento

Componentes puros

El mismo input, siempre el mismo output

Un componente puro es aquel que dado las mismas props produce exactamente el mismo JSX — sin efectos secundarios en el render. React puede saltarse su re-render si las props no cambiaron, haciendo la UI predecible y optimizable.

React.memo

memo(Componente) envuelve el componente y memoriza el último output. En el siguiente render, si las props son iguales por referencia (shallow equality), React reutiliza el resultado anterior sin llamar a la función. Útil en hijos costosos que reciben props estables.

La trampa de las referencias

memo compara props con Object.is. Si el padre pasa un objeto literal o función inline, crea una nueva referencia en cada render — memo siempre ve props "distintas" y nunca se salta el render. Por eso se combina con useMemo y useCallback.

Tropiezos comunes

  • 01memo no es gratis — tiene un costo de comparación. Solo úsalo cuando el render del hijo sea mediblemente costoso.
  • 02memo solo hace shallow comparison. Si pasas objetos anidados con la misma estructura pero distinta referencia, siempre re-renderiza.
  • 03Un componente puede ser puro conceptualmente aunque use hooks — lo que importa es que el render sea determinístico dadas las mismas props y estado.
¿Fue útil?
Inicia sesión para dar feedback