React Dojo

Buscar

Busca conceptos, ejercicios y quizzes

Entrevista · Herramientas

StrictMode

¿Por qué mis efectos corren dos veces?

StrictMode activa comportamientos extra solo en desarrollo para detectar bugs sutiles: monta y desmonta componentes dos veces para verificar que los efectos tienen cleanup, y detecta APIs deprecadas.

El doble montaje

En desarrollo, React monta el componente, lo desmonta, y lo vuelve a montar. Esto simula lo que ocurre en React 18+ con fast refresh y en casos de remontaje real. Si tu useEffect se rompe al correr dos veces, significa que le falta la función de cleanup.

Solo en desarrollo

El doble montaje no ocurre en producción. Su único propósito es hacer visibles los efectos sin cleanup antes de que lleguen al usuario. La señal correcta no es "¿por qué se ejecuta dos veces?" sino "¿mi efecto funciona correctamente si se ejecuta dos veces?".

Tropiezos comunes

  • 01Si el doble montaje rompe tu efecto, no elimines StrictMode — es una señal de que el efecto necesita un return de cleanup.
  • 02StrictMode no afecta a los componentes de producción — solo es una herramienta de desarrollo para detectar bugs temprano.
  • 03En React 18+, el doble montaje también verifica que los componentes soporten unmount/remount sin perder datos — útil para future Offscreen API.
¿Fue útil?
Inicia sesión para dar feedback