0Pricing
React Academy · Aula

O que StrictMode faz

Entenda chamadas duplas e avisos de APIs obsoletas no desenvolvimento.

O que StrictMode faz é uma aula grátis de React Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de React Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de React Academy inclui 4 aulas no total.

Boas-vindas

Nesta lição, você aprenderá o que React.StrictMode faz em desenvolvimento, quais avisos ele apresenta e como ele ajuda a escrever código React mais seguro.

O que é StrictMode?

StrictMode é um componente especial do React que envolve parte da sua árvore e habilita verificações adicionais **apenas em desenvolvimento**. Ele não tem nenhum efeito na compilação de produção.
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';

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

Dupla invocação do ciclo de vida

No Modo estrito, o React chama intencionalmente sua função de componente e alguns métodos do ciclo de vida **duas vezes** em desenvolvimento. Isso foi projetado para revelar efeitos colaterais que não são limpos corretamente.

Por que invocar duas vezes?

O React 18 ou versões posteriores pode remontar componentes no futuro (por exemplo, para a atualização rápida e a API de conteúdo fora da tela). Invocar duas vezes em desenvolvimento simula esse comportamento, permitindo detectar erros como assinaturas que se acumulam ou mutações do DOM que são executadas duas vezes.

Montagem, desmontagem e remontagem do efeito

Com StrictMode no React 18, cada useEffect é executado, limpo e executado novamente na montagem inicial. Se sua função de limpeza estiver correta, essa execução dupla não causará problemas. Se sua aplicação falhar, a limpeza está ausente ou incorreta.
useEffect(() => {
  const id = setInterval(() => setTick(t => t + 1), 1000);
  return () => clearInterval(id); // cleanup required!
}, []);

Detectando APIs obsoletas

StrictMode avisa quando seu código usa APIs obsoletas do React, como `componentWillMount`, `componentWillReceiveProps` e referências de string. Esses avisos aparecem no console do navegador como avisos amarelos.

Aviso sobre a API de contexto legada

Se alguma biblioteca de terceiros usar a API de contexto legada (`childContextTypes` / `getChildContext`), StrictMode emitirá um aviso. Isso indica que a biblioteca precisa ser atualizada para a API moderna `React.createContext`.

Seguro para ativar em aplicações existentes

Você pode envolver apenas parte da árvore de componentes em StrictMode para ativá-lo gradualmente em uma aplicação existente. Comece pelas seções novas e amplie a cobertura à medida que corrige os avisos.
function App() {
  return (
    <>
      <LegacyPart />  {/* not wrapped */}
      <StrictMode>
        <NewFeature />
      </StrictMode>
    </>
  );
}

Nenhuma diferença visual

StrictMode não renderiza nenhuma interface visível. Ele é apenas uma ferramenta de desenvolvimento. Você não verá elementos adicionais no DOM — apenas avisos extras no console e o comportamento de dupla invocação.

Ative desde o primeiro dia

A prática recomendada é ativar StrictMode desde o início do projeto. Corrigir problemas de dupla invocação cedo é muito mais barato do que descobri-los mais tarde, quando a base de código estiver grande.

Verificação rápida

Qual é a finalidade da dupla invocação das funções de componentes pelo React StrictMode?

Recapitulação

StrictMode é uma ferramenta de desenvolvimento sem custo de execução que invoca renderizações e efeitos duas vezes para detectar código impuro, avisa sobre APIs obsoletas e prepara sua aplicação para recursos futuros do React.

Próxima lição

Próxima lição: **Componentes puros e como evitar efeitos colaterais na renderização** — você aprenderá a escrever funções de renderização livres de alterações e leituras externas.

Perguntas Frequentes

A aula “O que StrictMode faz” é grátis?

Sim — o texto completo de “O que StrictMode faz” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de React Academy, atualize para CoddyKit PRO. O curso de React Academy inclui 4 aulas no total.

O que vou aprender em “O que StrictMode faz”?

Entenda chamadas duplas e avisos de APIs obsoletas no desenvolvimento. Você pratica React Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar React Academy?

Nenhuma experiência prévia é necessária. React Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “O que StrictMode faz”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de React Academy?

Sim. Cada aula de React Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O que StrictMode faz
  2. Componentes puros e prevenção de efeitos colaterais na renderização
  3. Boas práticas para chaves e refs
  4. Estrutura de pastas e convenções de nomenclatura
← Voltar para React Academy