Anotei essa no caderno depois de errar numa entrevista de verdade. Hoje ela vive no meu baralho de React. Abaixo, a resposta como eu daria agora.
A resposta, como você fala na entrevista
Return a cleanup function to undo the effect (clear timers, unsubscribe, abort fetches) — it runs before the next effect and on unmount. Forgetting cleanup = memory leaks and duplicated listeners.
Dependency array: [] = run once on mount; [a, b] = run when a or b changes; MISSING array = runs on EVERY render. Lying about dependencies causes stale values — don't silence the lint rule, fix the code.
Ler é fácil. Falar isso em inglês, sob pressão, com alguém avaliando, é outra história. No VagaGringa esse tópico vira flashcard com repetição espaçada, cai em quiz e entra no simulado.
Treinar este tópico no app