Cleanup Function Limpeza de Efeito
Última atualização: 2026-11-03
Cleanup Function Limpeza de Efeito
A função de limpeza é o desmonte retornado por um efeito: ela roda uma vez antes da próxima execução desse efeito e mais uma vez quando o componente desmonta, e é o que cancela temporizadores, cancela inscrições de listeners e aborta requisições em andamento. Sem uma limpeza, o efeito colateral continua rodando depois que o componente some e vaza. A regra prática é simples: qualquer coisa que você inicia dentro de um efeito e não termina de forma síncrona precisa de uma limpeza correspondente.
| Grupo | Efeitos e Desempenho |
|---|---|
| Tipo | Padrão |
ℹ️ Informação O editor transpila JSX para JavaScript e renderiza a UI real na sandbox; os componentes são montados automaticamente — sem render manual.
📝 Sintaxe
useEffect(() => {
const id = setInterval(tick, 1000)
window.addEventListener('resize', onResize)
return () => { // teardown: clear the old one before running the new one
clearInterval(id)
window.removeEventListener('resize', onResize)
}
}, [])
Retorna:Sem valor de retorno; esta entrada descreve um padrão de codificação e não uma função.
▶ Exemplo
O exemplo roda direto: renderiza automaticamente ao expandir e edições valem na hora.
Saída:
O temporizador soma um segundo a cada segundo; clicar em "Pause" o interrompe imediatamente (a função de limpeza roda), clicar em "Resume" o reinicia, e a qualquer momento apenas um temporizador está vivo.