Middle
Quando é que a função de limpeza no useEffect é acionada?
sobes.tech IA
Resposta da IA
A função de limpeza no useEffect é acionada nos seguintes casos:
- Antes de reexecutar o efeito ao alterar as dependências.
- Quando o componente é desmontado.
Isso permite liberar recursos corretamente, cancelar subscrições ou temporizadores, para evitar vazamentos de memória e comportamentos incorretos.
Exemplo:
useEffect(() => {
const id = setInterval(() => {
console.log('tick');
}, 1000);
return () => {
clearInterval(id); // limpeza ao desmontar ou atualizar
};
}, []); // matriz de dependências vazia — efeito será executado uma vez