Conteúdo do curso
Questionário
0/1
React.js: Entenda e Aplique o Ciclo de Vida
Sobre a Aula

Desmontagem do componente (componentWillUnmount)

 

componentWillUnmount é um método de ciclo de vida em componentes de classe do React. Ele é chamado quando um componente está prestes a ser removido da árvore DOM.

Por que é Importante?componentWillUnmount

Este método é útil para limpar recursos e evitar vazamentos de memória. Por exemplo, você pode limpar timers, cancelar assinaturas de eventos ou desinstalar listeners.

Como usar?componentWillUnmount

Dentro de uma classe React, defina como um método. Por exemplo:componentWillUnmount

class MyComponent extends React.Component {
  componentDidMount() {
    this.timerID = setInterval(() => this.tick(), 1000);
  }

  componentWillUnmount() {
    clearInterval(this.timerID);
  }

  tick() {
    console.log('O timer está funcionando.');
  }

  render() {
    return <div>Meu Componente</div>;
  }
}

Neste exemplo, o método define um timer quando o componente é montado. O método limpa esse timer quando o componente é desmontado. Isso evita que o timer continue rodando após o componente ser removido.componentDidMountcomponentWillUnmount

Exemplos de Limpeza

Além de limpar timers, você pode usar para:componentWillUnmount

  1. Cancelar requisições de rede: componentWillUnmount() { this.abortController.abort(); }
  2. Desregistrar eventos globais: componentDidMount() { window.addEventListener('resize', this.handleResize); } componentWillUnmount() { window.removeEventListener('resize', this.handleResize); }
  3. Limpar assinaturas de serviços: componentDidMount() { this.subscription = someService.subscribe(data => this.setState({ data })); } componentWillUnmount() { this.subscription.unsubscribe(); }

Conclusão

componentWillUnmount é crucial para garantir que seu componente limpe recursos quando não for mais necessário.

Isso mantém sua aplicação React eficiente e evita problemas de performance. Pratique implementá-lo em seus componentes para ver como ele funciona na prática.

Entrar na conversa
Rolar para cima