DEV Community

Everton Reis
Everton Reis

Posted on

O useEffect é lindo… até virar dor de cabeça

Eu sinto verdadeiros arrepios toda vez que vejo um useEffect sendo usado de maneira "incorreta".
Parece exagero a chamada desse post, e realmente é um exagero. Mas já faz um tempo que venho me deparando com usos, digamos... displicentes do hook useEffect.

Talvez o useEffect seja um dos hooks mais usados no React, mas também me parece ser um dos mais mal utilizados.

Já vi muitas pessoas desenvolvedoras, das mais iniciantes até as mais experientes, tratando o useEffect como uma espécie de canivete suíço.
E, cara, vou te falar: por vezes isso vira uma baita dor de cabeça (especialmente quando viram fábricas de loops infinitos).

Usar 10 useEffects para calcular coisas triviais talvez não seja o melhor cenário, sabe?
Às vezes, seu useEffect pode ser tranquilamente substituído por um useMemo ou até mesmo por um cálculo direto no JSX.

💡 Então a dica que eu deixo é que, antes de usar o useEffect, se pergunte:

  • Estou lidando com um efeito colateral real?
  • Ou só estou calculando algo baseado em props/estado? Se for a segunda opção, há grandes chances de não ser o melhor uso do hook.

📘 A própria documentação do React reforça isso:
Nem sempre você precisa de um useEffect.
👉 https://react.dev/learn/you-might-not-need-an-effect#updating-state-based-on-props-or-state

⚠️ O useEffect é poderoso, mas precisa ser usado com clareza e propósito, e não como solução padrão para tudo.

🧠 Ah, e um adendo importante: com o avanço das IAs, é tentador aceitar qualquer sugestão ou código gerado sem pensar duas vezes. Mas ainda não dá para confiar 100% (pelo menos não por enquanto). Sempre revise, entenda o que está sendo feito e ajuste para o seu contexto.

Obs.: O exemplo da imagem é propositalmente simples, só para ilustrar a ideia central do post.

Top comments (0)