Questão nº 50
Questão de Tecnologia da Informação · CESGRANRIO BASA 01/2024 (nº 50)
Um desenvolvedor está criando um aplicativo móvel usando React Native 0.59. Durante o desenvolvimento, ele precisa gerenciar o estado do aplicativo de forma eficiente e decide utilizar o Context API para passar dados entre componentes sem a necessidade de prop drilling. Ele precisa criar um contexto para compartilhar dados entre vários componentes do aplicativo.
Considerando-se o contexto descrito, qual das seguintes opções descreve corretamente o processo de criação e uso de um contexto em React Native 0.59?
- AImportar o Context API do módulo ‘react-native’ e usar o método createContext().
- BUtilizar o método createContext() da biblioteca ‘react’ para criar um contexto, e envolver os componentes com o provedor do contexto. (alternativa correta)
- CUtilizar a classe Component da biblioteca ‘react-manager’ para definir um contexto e passar dados entre os componentes.
- DUtilizar a função useState() da biblioteca ‘react-native’ para criar um contexto e compartilhar o estado entre os componentes.
- EUtilizar o módulo ‘react-navigation’ para criar e gerenciar o contexto global do aplicativo.
Resposta comentada
Gabarito Alternativa B
O Context API é uma ferramenta do React (não do React Native) que resolve o problema de passar dados por muitos níveis de componentes, criando um "provedor" que entrega o valor diretamente a qualquer componente "consumidor" que estiver dentro dele. No React Native, você usa o mesmo React, então a criação do contexto vem da biblioteca react.
- (A) Incorreta: O
Context APInão é exportado pelo móduloreact-native; ele é uma funcionalidade da bibliotecareact, que é a base do React Native. - (B) Correta: O
createContext()é importado de'react'(ex.:import React, { createContext } from 'react'). Depois, você cria o contexto, define um componente provedor (<MeuContexto.Provider value={dados}>) e envolve os componentes que precisam acessar esses dados, evitando o prop drilling. - (C) Incorreta: Não existe a biblioteca
react-managerno ecossistema React Native; a classeComponenté usada para criar componentes, não para criar contextos. - (D) Incorreta:
useState()é um hook para gerenciar estado local de um componente, não para criar um contexto global. Além disso, ele vem de'react', não de'react-native'. - (E) Incorreta:
react-navigationé uma biblioteca para navegação entre telas, não para gerenciamento de estado global ou criação de contextos.
Fonte: CESGRANRIO BASA 01/2024 Técnico Científico - Área de Formação: Tecnologia da Informação (Caderno Prova B). Reproduzida para fins de estudo.