Questoes Basicas Flashcards
O que é o react native e qual é a diferença entre react e react native ?
O react native é um framework que permite criar aplicativos móveis renderizados nativamente para android e iOS utilizando a mesma base de código. A diferença entre react e RN é que o react é utilizado para desenvolver aplicações web e o RN é utilizado para desenvolvimento de aplicativos móveis.
Qual é o propósito do hook “useState” no React Native?
Ele permite rastrear o estado em um componente funcional.
Como você lida com a navegação entre telas em um aplicativo React Native?
Utilizando a biblioteca React Navigation, é possível combinar diferentes tipos de navegação, como Stack, Tab e Drawer, sem que haja interferência entre eles. A chave para isso é entender que cada tipo de navegação pode ser encapsulado em um componente de navegação próprio, que pode ser usado dentro de outros componentes de navegação.
Qual é o papel do “StyleSheet” no React Native?
É uma abstração similar ao CSS Stylesheets
Descreva o conceito de “props” e como eles são usados em componentes React Native.
É uma maneira curta de dizer properties ou pro propriedades, elas permitem customizar componentes.
Por que e como você usaria o ciclo de vida “componentDidMount” em um componente de classe React Native?
Chamado após o componente ser renderizado pela primeira vez. É um bom lugar para realizar inicializações e carregar dados assincronamente.
Por que e como você usaria o ciclo de vida “componentDidMount” em um componente de classe React Native?
Chamado após o componente ser renderizado pela primeira vez. É um bom lugar para realizar inicializações e carregar dados assincronamente.
Explique a diferença entre estado (state) e propriedades (props) no React Native
Apesar de ambos guardarem informações que influenciam no resultado da renderização, eles são diferentes por uma razão importante:props são passados para o componente (como parâmetros de funções), enquanto state é gerenciado de dentro do componente (como variáveis declaradas dentro de uma função).
Como você realiza a busca de dados de uma API em um aplicativo React Native?
Eu utilizo a lib Axios, porém sei que é possível utilizar a função fetch
Qual é a finalidade do componente “FlatList” e como ele é utilizado?
A finalidade desse componente é renderizar uma listagem. Para usar o “FlatList”, você precisa fornecer dois parâmetros principais: “data” e “renderItem”. O “data” é um array de dados que você deseja exibir na lista, enquanto o “renderItem” é uma função que recebe informações sobre cada item e retorna o componente que representa esse item na interface.
Além disso, o “FlatList” oferece muitos outros recursos, como carregamento dinâmico de dados, suporte a layout horizontal, seções, animações de transição e muito mais. Ele é uma ferramenta poderosa para criar listas eficientes e responsivas em aplicativos React Native.
Descreva o papel da biblioteca “redux” na gestão de estado para aplicativos React Native.
O redux serve para gerenciar os estados da aplicação globalmente.
Como você otimizaria o desempenho de um aplicativo React Native?
Utilize o FlatList e SectionList: Como mencionado anteriormente, o “FlatList” e o “SectionList” são componentes otimizados para renderizar listas de itens de maneira eficiente.
* Evite renderizações desnecessárias: Utilize o PureComponent ou o memo para evitar renderizações desnecessárias de componentes quando as props não mudam.
* Use o Redux ou Context API com sabedoria: Centralize o estado da aplicação para evitar a propagação desnecessária de props entre componentes.
* Implemente a paginação e carregamento sob demanda: Carregue dados conforme necessário, especialmente ao lidar com grandes conjuntos de dados. Isso reduzirá o tempo de carregamento inicial.
* Optimize as imagens: Reduza o tamanho das imagens e utilize formatos otimizados, como WebP. Considere carregar imagens dinamicamente com base na resolução do dispositivo.
* Evite o uso excessivo de animações complexas: Animar muitos elementos ao mesmo tempo pode impactar o desempenho. Use animações com moderação e opte por animações nativas sempre que possível.
* Use a propriedade shouldComponentUpdate: Implemente o método shouldComponentUpdate para controlar quando um componente deve ser renderizado, evitando renderizações desnecessárias.
* Monitore e otimize o tempo de renderização: Utilize ferramentas como o React DevTools para identificar componentes que estão causando gargalos de desempenho.
* Habilitar o Hermes: Se estiver desenvolvendo para Android, considere habilitar o Hermes, um engine JavaScript otimizado para React Native.
* Teste em dispositivos reais: Teste o aplicativo em dispositivos físicos para avaliar o desempenho real, pois emuladores nem sempre refletem com precisão o comportamento em dispositivos reais.
Lembre-se de que o desempenho é um processo contínuo, e é importante realizar testes e ajustes ao longo do desenvolvimento para garantir um aplicativo React Native rápido e responsivo.
Qual é a finalidade do componente “TouchableOpacity” e quando você o utilizaria?
Um componente para fazer com que as visualizações respondam adequadamente aos toques. Ao pressionar para baixo, a opacidade da visualização agrupada diminui, escurecendo-a.
Explique o papel do “AsyncStorage” no React Native para lidar com armazenamento local.
É uma lib que possibilita persistir os dados localmente em uma aplicação.
Como o React Native difere de outros frameworks de desenvolvimento móvel, como Flutter ou Xamarin?
RN utiliza JS e react para o desenvolvimento de aplicações, Usa interpretação JIT (Just-In-Time) para o código JavaScript durante o desenvolvimento, e algumas partes são compiladas nativamente em tempo de execução.