Questão de Programação — Web — FGV 2023
- Código
- fg072581
- Banca
- FGV
- Órgão
- TJ-SE
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista Judiciário - Especialidade - Análise de Sistemas
- AuseState;
- BuseEffect;
- CuseMemo;
- DuseCalback;
- EuseContext.
GabaritoD — useCalback;
Gabarito: letra D. O hook useCallback é o único que memoriza a definição de uma função entre renderizações, evitando recriações desnecessárias e reduzindo o custo computacional de renderização. José encapsulou funções do componente TelaD nesse hook exatamente para essa finalidade.
useState gerencia estado em componentes funcionais, mas não memoriza funções. Seu propósito é armazenar e atualizar dados que persistem entre renderizações.
useEffect lida com efeitos colaterais (requisições, subscrições, manipulações manuais do DOM), não memoriza definições de funções.
useMemo memoriza o valor retornado por uma função (o resultado de uma computação), não a própria definição da função. Embora possa armazenar uma função como valor, não é voltado para evitar recriação de callbacks.
useCallback recebe uma função e um array de dependências, retornando a mesma instância da função enquanto as dependências não mudarem. Isso impede que a função seja recriada a cada render, o que otimiza componentes que dependem de identidade de funções para evitar re-renderizações desnecessárias.
useContext permite acessar valores de contexto (dados compartilhados na árvore de componentes). Não tem relação com memorização de funções.
Para diferenciar useMemo e useCallback: ambos aceitam dependências e evitam trabalho repetido. useMemo retorna um valor computado; useCallback retorna uma função. Se a intenção é evitar recriação de uma função, use useCallback. Se é evitar recálculo de um valor, use useMemo.
Gabarito: letra D.
Link permanente: /questoes/fg072581