0Pricing
React Academy · Lección

Qué hace StrictMode

Comprenda la doble invocación y las advertencias sobre API obsoletas en desarrollo.

Qué hace StrictMode es una lección gratuita de React Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de React Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de React Academy incluye 4 lecciones en total.

Bienvenida

En esta lección aprenderá qué hace React.StrictMode durante el desarrollo, qué advertencias muestra y cómo le ayuda a escribir código de React más seguro.

¿Qué es StrictMode?

StrictMode es un componente especial de React que envuelve parte de su árbol y habilita comprobaciones adicionales **solo durante el desarrollo**. No tiene ningún efecto en la compilación de producción.
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';

createRoot(document.getElementById('root')).render(
  <StrictMode>
    <App />
  </StrictMode>
);

Doble invocación del ciclo de vida

En Strict Mode, React llama intencionadamente dos veces a la función de su componente y a algunos métodos del ciclo de vida **durante el desarrollo**. Esto está diseñado para detectar efectos secundarios que no se limpian correctamente.

¿Por qué se invoca dos veces?

React 18+ puede volver a montar componentes en el futuro (por ejemplo, para fast refresh y la API Offscreen). La doble invocación durante el desarrollo simula este comportamiento, para que detecte errores como suscripciones que se acumulan o mutaciones del DOM que se ejecutan dos veces.

Montaje, desmontaje y remontaje del efecto

Con StrictMode en React 18, cada useEffect se ejecuta, se limpia y vuelve a ejecutarse durante el montaje inicial. Si la función de limpieza es correcta, la doble ejecución no causa problemas. Si la aplicación falla, la limpieza falta o es incorrecta.
useEffect(() => {
  const id = setInterval(() => setTick(t => t + 1), 1000);
  return () => clearInterval(id); // cleanup required!
}, []);

Detectar API obsoletas

StrictMode muestra una advertencia cuando el código utiliza API de React obsoletas, como `componentWillMount`, `componentWillReceiveProps` y las refs de tipo string. Estas advertencias aparecen en la consola del navegador como advertencias amarillas.

Advertencia sobre la API de contexto heredada

Si alguna biblioteca de terceros utiliza la API de contexto heredada (`childContextTypes` / `getChildContext`), StrictMode mostrará una advertencia. Esto indica que la biblioteca debe actualizarse para usar la API moderna `React.createContext`.

Es seguro habilitarlo en aplicaciones existentes

Puede envolver solo una parte del árbol de componentes en StrictMode para habilitarlo gradualmente en una aplicación existente. Empiece por las secciones nuevas y amplíe su uso a medida que corrija las advertencias.
function App() {
  return (
    <>
      <LegacyPart />  {/* not wrapped */}
      <StrictMode>
        <NewFeature />
      </StrictMode>
    </>
  );
}

Ninguna diferencia visual

StrictMode no renderiza ninguna interfaz visible. Es únicamente una herramienta de desarrollo. No verá elementos adicionales en el DOM, sino solo advertencias adicionales en la consola y la doble invocación.

Habilitarlo desde el primer día

La práctica recomendada es habilitar StrictMode desde el principio del proyecto. Corregir pronto los problemas de doble invocación es mucho más barato que descubrirlos más adelante, cuando el código sea más extenso.

Comprobación rápida

¿Cuál es el objetivo de la doble invocación de las funciones de componentes por parte de React StrictMode?

Resumen

StrictMode es una herramienta de desarrollo sin coste de ejecución que invoca dos veces los renderizados y los efectos para detectar código impuro, muestra advertencias sobre API obsoletas y prepara la aplicación para futuras funciones de React.

A continuación

Siguiente lección: **Componentes puros y cómo evitar efectos secundarios durante el renderizado** — aprenderá a escribir funciones de renderizado sin mutaciones ni lecturas externas.

Preguntas frecuentes

¿La lección «Qué hace StrictMode» es gratis?

Sí — el texto completo de «Qué hace StrictMode» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de React Academy, actualiza a CoddyKit PRO. El curso de React Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Qué hace StrictMode»?

Comprenda la doble invocación y las advertencias sobre API obsoletas en desarrollo. Practicas React Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar React Academy?

No se requiere experiencia previa. React Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Qué hace StrictMode»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de React Academy?

Sí. Cada lección de React Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Qué hace StrictMode
  2. Componentes puros y prevención de efectos secundarios en el renderizado
  3. Prácticas recomendadas para keys y refs
  4. Estructura de carpetas y convenciones de nombres
← Volver a React Academy