XP 0

useEffect

O lugar certo dos efeitos

O useEffect roda um efeito depois do render, no momento certo. Ele recebe dois argumentos: a função do efeito e um array de dependências:

useEffect(() => {
  console.log("rodou!");
}, []);

O array [ ] é a parte mais importante — ele diz quando o efeito roda:

  • [] vazio → roda uma vez só, quando o componente aparece (ideal para buscar dados iniciais)
  • [qtd] → roda toda vez que qtd mudar
  • sem array → roda a cada render (quase sempre um erro)

🧠 Modelo mental: o array de dependências é uma lista de vigias. "Rode este efeito quando qualquer um destes valores mudar." Vazio = "só na estreia".

Pontos-chave

  • useEffect(fn, [])
    roda o efeito uma vez, quando o componente aparece.
  • array de dependências
    diz QUANDO o efeito roda (vazio = uma vez).