Alternativa A
Análise da Questão
Esta questão aborda a estrutura de componentes no React Native, especificamente como eles se organizam e interagem entre si (hierarquia).
Conceitos Fundamentais
No React Native, a interface do usuário é construída através de uma árvore de componentes. Diferente do HTML tradicional, onde usamos muitas tags específicas, aqui utilizamos componentes reutilizáveis.
- Flexibilidade da Hierarquia: Os componentes podem ser aninhados uns dentro dos outros. Isso significa que um componente pode conter vários outros componentes como seus "filhos".
- Componentes como Contêineres: O componente mais comum usado para agrupar outros componentes é o
View. Ele funciona de forma similar a uma div no desenvolvimento web. - Tipos Heterogêneos: Você pode misturar diferentes tipos de componentes dentro de um contêiner. Por exemplo, um
View pode conter tanto textos (Text) quanto imagens (Image) e botões (TouchableOpacity) simultaneamente.
Por que a Alternativa A está correta?
A alternativa A afirma que a hierarquia é flexível e permite utilizar conjuntos diferentes de componentes, inclusive usando-os como contêineres. Isso reflete exatamente a arquitetura do React Native, onde a composição de componentes é a base para criar interfaces complexas.
\text{Componente Pai} \Rightarrow \{ \text{Componente Filho 1}, \text{Componente Filho 2}, ... \}
Por que as outras estão incorretas?
- Alternativa B: Afirma que um componente não pode ser contêiner. Isso é falso; componentes como
View, ScrollView e FlatList são projetados especificamente para conter outros elementos. - Alternativa C: Sugere que só pode conter componentes do mesmo tipo. Na prática, um
View pode conter um Text e uma Image ao mesmo tempo. - Alternativa D: Restringe o uso do componente
View a componentes do mesmo tipo. O View é polimórfico e aceita quase qualquer elemento visual como filho. - Alternativa E: Afirma que não é possível estilizar individualmente componentes de tipos diferentes. Isso é incorreto; cada componente possui suas próprias propriedades de estilo (via
style prop ou StyleSheet), independentemente do contexto do pai.
Resumo: A arquitetura do React Native é baseada na composição, permitindo que componentes sejam organizados livremente em uma hierarquia flexível, onde cada um pode atuar como contêiner para os outros.