Imagem de fundo

Durante o desenvolvimento de um módulo de chat em uma aplicação React JS, um programado...

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


A

definida como o valor de retorno da função passada ao useEffect.


B

passada como o terceiro argumento do hook useEffect, logo após o array de dependências.


C

declarada dentro de um segundo hook useEffect que possua uma lista de dependências vazia.


D

Invocada, explicitamente, dentro de um bloco finally de uma estrutura try-catch externa ao hook.


E

disparada por meio de um método de ciclo de vida denominado componentWillUnmount dentro do componente funcional.