Alternativa D
Análise da Questão
A questão aborda os componentes de interação (toque/pressão) disponíveis no framework React Native. Para responder corretamente, é necessário conhecer a hierarquia e as funcionalidades desses componentes, especialmente a diferença entre o componente simplificado Button e os componentes de toque mais flexíveis como o Pressable.
Por que a Alternativa D é a correta?
O React Native evoluiu seus componentes de interação ao longo do tempo. Historicamente, existiam componentes como TouchableOpacity e TouchableHighlight. No entanto, a partir da versão 0.63, o componente Pressable foi introduzido como a solução unificada e recomendada.
- Flexibilidade: O
Pressable substitui a maioria das necessidades antigas de toque, oferecendo melhor performance e mais hooks para estados de pressão (isPressed, isHovered, etc.). - Recomendação Oficial: A documentação atual do React Native sugere explicitamente o uso do
Pressable para criar interações customizadas, pois ele fornece controle granular sobre os estilos baseados no estado do toque. - Cross-Platform: Assim como os outros componentes de toque, o
Pressable funciona tanto no Android quanto no iOS, garantindo a experiência nativa esperada.
Por que as outras alternativas estão incorretas?
Vamos analisar os erros conceituais em cada opção:
- Alternativa A (Incorreta): O componente
<Button> nativo do React Native é extremamente limitado. Ele utiliza as cores e estilos padrão do sistema operacional (Material Design no Android, SF Symbols/iOS no iPhone). Ele não permite uma alteração completa de aparência (ex: mudar cor de fundo, bordas arredondadas, sombras) facilmente sem envolver o componente em outras estruturas. - Alternativa B (Incorreta): Componentes como
Pressable, Button e TouchableHighlight são cross-platform, ou seja, foram desenvolvidos especificamente para funcionar simultaneamente nas plataformas Android e iOS. Não há restrição de disponibilidade entre eles. - Alternativa C (Incorreta): Não há limitação técnica que impeça a inclusão de ícones. É comum e recomendado envolver texto e ícones (usando bibliotecas como
react-native-vector-icons) dentro de um componente de toque para criar botões ricos. - Alternativa E (Incorreta): Um componente
Pressable é apenas um gatilho para eventos. Quando pressionado, ele executa uma função JavaScript. Essa função pode controlar o estado da aplicação inteira, incluindo abrir ou fechar janelas modais, navegar para outras telas ou manipular formulários. Não há exceção para esse tipo de ação.
Conclusão
A alternativa D é a única que reflete corretamente o estado atual do desenvolvimento com React Native, reconhecendo a variedade de componentes de interação e a preferência moderna pelo componente Pressable para garantir flexibilidade e compatibilidade.