🔄
ReactIntermediário 9 min
useEffect: o guia prático
Efeitos colaterais em React sem leaks. Quando rodar, como limpar e a regra do array de dependências.
useEffect roda efeitos colaterais: buscar dados, subscriptions, timers. O array de dependências controla quando ele executa.
As três formas
Exemplos.tsx
// 1. roda a cada render — raramente o que você quer
useEffect(() => {
console.log("renderizou");
});
// 2. roda só uma vez (mount)
useEffect(() => {
buscarDados();
}, []);
// 3. roda quando id mudar
useEffect(() => {
buscarUsuario(id);
}, [id]);Função de limpeza
tsx
useEffect(() => {
const timer = setInterval(() => tick(), 1000);
// roda antes do próximo efeito e no unmount
return () => clearInterval(timer);
}, []);Não minta no array de dependências. Se você usa uma variável no efeito, coloque-a ali — senão trabalha com valores defasados. Linter reclama por um motivo.