

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Durante o desenvolvimento de um módulo de chat em uma aplicação React JS, um programador precisa garantir que a conexão com o servidor via WebSocket seja estabelecida assim que o componente for montado na tela e devidamente encerrada, quando o componente for removido (desmontado), para evitar vazamentos de memória (memory leaks).
Para implementar essa lógica em um componente funcional utilizando o hook useEffect, o desenvolvedor deve estruturar o código de modo que a função de limpeza, responsável pelo fechamento da conexão, seja executada.
De acordo com as especificações do React, essa função de limpeza deve ser
definida como o valor de retorno da função passada ao useEffect.
passada como o terceiro argumento do hook useEffect, logo após o array de dependências.
declarada dentro de um segundo hook useEffect que possua uma lista de dependências vazia.
Invocada, explicitamente, dentro de um bloco finally de uma estrutura try-catch externa ao hook.
disparada por meio de um método de ciclo de vida denominado componentWillUnmount dentro do componente funcional.