Questão FC374839
A imagem apresenta os conceitos de ciclo de vida dos componentes do framework ReactJs a partir da sua versão 16.4: (Disponível em: https://projects. wojtekmaj.pl/react-lifecycle-me
Desenvolvimento Web
Instituto Consulplan · 2021
A imagem apresenta os conceitos de ciclo de vida dos componentes do framework ReactJs a partir da sua versão 16.4:

(Disponível em: https://projects.
wojtekmaj.pl/react-lifecycle-methods-diagram/. Wojciech Maj, 2021. Adaptado.)
As fases Render, Pre-commit e Commit desempenham importantes etapas do funcionamento do framework; cada uma interage a seu tempo, com um escopo específico. O método getDerivedStateFromProps, em especial, é invocado imediatamente antes de chamar o método Render; ambos na montagem inicial e nas atualizações subsequentes. Tal método existe apenas para uma finalidade: permitir que um componente atualize seu estado interno como resultado de alterações em props. No entanto, sua utilização deve ser avaliada cuidadosamente, uma vez que os seus efeitos colaterais não controlados podem propagar erros em todo o componente. Considerando a imagem, bem como as elucidações anteriores, analise as afirmativas a seguir.
I. Para executar um ‘efeito colateral’ propositalmente como uma animação, em resposta a uma alteração nas props, pode-se empregar o método componentDidUpdate, pois, nessa fase, ele tem pleno acesso ao DOM para operar e agendar atualizações.
II. Para recalcular alguns dados quando uma prop muda, pode-se empregar a técnica de memorização, em que um elemento de código externo à classe avalia se o componente precisa ou não ser renderizado novamente.
III. Para buscar dados através de um ‘efeito colateral’, em resposta a uma alteração nas props, pode-se empregar o método componentDidUpdate, pois, nessa fase, o processamento poderá ser pausado, abortado, ou reiniciado, a partir do controle sobre o DOM.
Está correto o que se afirma em
- I, II e III.
- I, apenas.
- I e II, apenas.
- II e III, apenas.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
componentDidUpdate é o local indicado para executar efeitos colaterais que dependem de atualizações (por exemplo, animações ou requisições após mudança de props). Ele é invocado imediatamente após a atualização, permitindo comparar prevProps e prevState com os valores atuais e, assim, decidir quando disparar o efeito e agendar alterações no DOM de forma segura.
A técnica de memoização é uma alternativa eficiente para evitar recomputações desnecessárias quando uma prop muda. Ao armazenar resultados de cálculos caros em cache (por uma função auxiliar externa ou utilitário), você só recomputa quando as entradas realmente mudam, reduzindo renderizações e melhorando desempenho.
Portanto, a combinação de usar componentDidUpdate para efeitos controlados e aplicar memoização para cálculos reativos justifica a escolha da opção que indica I e II como corretas.
Conteúdo do catálogo FC Concursos · Atualizado em