Questão nº 62
Questão de Tecnologia da Informação · FGV TJ-SE Servidor 2023 (nº 62)
O analista José está implementando a interface gráfica da aplicação web JusticaSE, utilizando a biblioteca JavaScript React. A JusticaSE possui uma tela de dashboard, implementada pelo componente TelaD, que demanda alto custo computacional para ser renderizada. A fim de reduzir o custo de renderização da tela de dashboard, José encapsulou determinadas functions de TelaD em um Hook nativo da biblioteca React. O Hook utilizado por José memoriza a definição de uma function ao longo de várias renderizações de um componente.
José utilizou o React Hook:
- AuseState;
- BuseEffect;
- CuseMemo;
- DuseCalback; (alternativa correta)
- EuseContext.
Resposta comentada
Gabarito Alternativa D
O useCallback é um Hook do React que serve para "memorizar" uma função, ou seja, ele garante que a mesma instância da função seja usada entre as renderizações do componente, a menos que suas dependências mudem. Isso é útil para otimizar o desempenho, especialmente quando a função é passada como propriedade para componentes filhos que usam React.memo.
- (A) Incorreta:
useStateé usado para adicionar estado a componentes funcionais, não para memorizar funções. - (B) Incorreta:
useEffecté usado para realizar efeitos colaterais (como requisições de dados, manipulação do DOM) após a renderização, não para memorizar funções. - (C) Incorreta:
useMemomemoriza o resultado de uma computação (um valor), não a definição de uma função. A armadilha é que ambos (useMemoeuseCallback) otimizam performance, masuseMemoé para valores euseCallbacké especificamente para funções. - (D) Correta:
useCallbackmemoriza a definição de uma função ao longo de várias renderizações, evitando que a função seja recriada desnecessariamente e otimizando o desempenho, exatamente como descrito na questão. - (E) Incorreta:
useContexté usado para compartilhar dados entre componentes sem a necessidade de passar props manualmente em todos os níveis da árvore, não para memorizar funções.
Fonte: FGV TJ-SE Servidor 2023 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.