Questão nº 46
Questão de Tecnologia da Informação · FCC TRT20 2024 (nº 46)
Em um aplicativo móvel criado utilizando React Native, em condições ideais, um desenvolvedor precisa que um botão ocupe a largura total da tela, tenha um fundo azul e o texto branco centralizado. Para estilizar o botão no React Native, ele deve
- Ausar o objeto `StyleSheet.create` com propriedades como `width: '100%'`, `backgroundColor: 'blue'` e `color: 'white'`. (alternativa correta)
- Busar classes CSS tradicionais no arquivo `.css` vinculado ao componente com `width: '100%'`, `backgroundColor: blue` e `color: #000000`.
- Cadicionar os estilos `width: 'auto'`, `backgroundColor: 'blue'` e `color: '#ffffff'` dentro do próprio arquivo JavaScript separado e importar como CSS.
- Dusar o atributo `style` diretamente no componente com as propriedades CSS `width: auto`, `background-color: blue` e `color: #FFF`.
- Eusar `className`, adicionar uma classe para os estilos no componente e formatar a classe com `width: 'auto'`, `backgroundColor: 'blue'` e `color: '#ffffff'`.
Resposta comentada
Gabarito Alternativa A
No React Native, a estilização dos componentes é feita utilizando objetos JavaScript, e não arquivos CSS tradicionais. A forma mais recomendada para criar e gerenciar esses estilos é através do StyleSheet.create, que otimiza o desempenho e a legibilidade.
- (A) Correta:
StyleSheet.createé a forma idiomática e performática de definir estilos em React Native. As propriedadeswidth: '100%'(string porque é uma porcentagem),backgroundColor: 'blue'ecolor: 'white'(camelCase para propriedades CSS e valores válidos) são as corretas para atingir os requisitos. - (B) Incorreta: React Native não utiliza classes CSS tradicionais nem arquivos
.css. Esta é a principal pegadinha para desenvolvedores web, pois o ambiente de estilização é JavaScript-based. Além disso,color: #000000é preto, não branco. - (C) Incorreta: Embora os estilos sejam definidos em arquivos JavaScript, eles não são "importados como CSS". São objetos JavaScript que são passados para a propriedade
styledos componentes.width: 'auto'não garante a largura total da tela. - (D) Incorreta: Usar o atributo
stylediretamente é possível (estilos inline), mas não é a melhor prática para estilos complexos ou reutilizáveis. Mais importante, as propriedades CSS devem ser escritas em camelCase no React Native (ex:backgroundColor, nãobackground-color) ewidth: autonão preenche a largura total. - (E) Incorreta:
classNameé um atributo usado em HTML/React para web e não existe em React Native para estilização. Em React Native, usa-se a propriedadestyle.width: 'auto'também não garante a largura total.
Fonte: FCC TRT20 2024 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 004). Reproduzida para fins de estudo.