Sobes.tech
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