Questoes Basicas Flashcards

1
Q

O que é o react native e qual é a diferença entre react e react native ?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qual é o propósito do hook “useState” no React Native?

A

Ele permite rastrear o estado em um componente funcional.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Como você lida com a navegação entre telas em um aplicativo React Native?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qual é o papel do “StyleSheet” no React Native?

A

É uma abstração similar ao CSS Stylesheets

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Descreva o conceito de “props” e como eles são usados em componentes React Native.

A

É uma maneira curta de dizer properties ou pro propriedades, elas permitem customizar componentes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Por que e como você usaria o ciclo de vida “componentDidMount” em um componente de classe React Native?

A

Chamado após o componente ser renderizado pela primeira vez. É um bom lugar para realizar inicializações e carregar dados assincronamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Por que e como você usaria o ciclo de vida “componentDidMount” em um componente de classe React Native?

A

Chamado após o componente ser renderizado pela primeira vez. É um bom lugar para realizar inicializações e carregar dados assincronamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Explique a diferença entre estado (state) e propriedades (props) no React Native

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Como você realiza a busca de dados de uma API em um aplicativo React Native?

A

Eu utilizo a lib Axios, porém sei que é possível utilizar a função fetch

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qual é a finalidade do componente “FlatList” e como ele é utilizado?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Descreva o papel da biblioteca “redux” na gestão de estado para aplicativos React Native.

A

O redux serve para gerenciar os estados da aplicação globalmente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Como você otimizaria o desempenho de um aplicativo React Native?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qual é a finalidade do componente “TouchableOpacity” e quando você o utilizaria?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Explique o papel do “AsyncStorage” no React Native para lidar com armazenamento local.

A

É uma lib que possibilita persistir os dados localmente em uma aplicação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Como o React Native difere de outros frameworks de desenvolvimento móvel, como Flutter ou Xamarin?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quais são as principais diferenças entre componentes funcionais e de classe no React Native?

A

• Componentes funcionais: funções JavaScript são usadas para criar componentes funcionais. Escrevendo uma função JavaScript, podemos criar um componente funcional no React.

* Componentes de classe: os componentes de classe são um pouco mais complicados do que os componentes funcionais. Os componentes funcionais em seu programa não têm conhecimento dos outros componentes em seu programa, enquanto os componentes de classe podem colaborar. Os dados podem ser passados de um componente de classe para outro.
17
Q

O que é o “React Navigation” e como ele é utilizado para navegação em um aplicativo React Native?

A

React Navigation é uma biblioteca independente que permite implementar funcionalidades de navegação em um aplicativo React Native. React Navigation é escrito em JavaScript e não usa diretamente as APIs de navegação nativas no iOS e Android. Em vez disso, recria algum subconjunto dessas APIs.

18
Q

Explique o conceito de “key” ao usar listas em React Native.

A

Usado para extrair uma chave exclusiva para um determinado item no índice especificado. A chave é usada para armazenamento em cache e como chave de reação para rastrear o reordenamento de itens. O extrator padrão verifica item.key, depois item.id e depois volta a usar o índice, como o React faz.

19
Q

Como você lida com o gerenciamento de estado em um aplicativo React Native sem usar o Redux?

A

Context API do React, que permite passar dados através da árvore de componentes sem a necessidade de propagação manual.
Você pode criar um contexto para armazenar o estado e fornecer um provedor em torno dos componentes que precisam acessá-lo. Dessa forma, qualquer alteração no estado no provedor será refletida nos consumidores automaticamente.

20
Q

Qual é a função do componente “ScrollView” e quando você o utilizaria?

A

O componente “ScrollView” no React Native é usado para criar uma área rolável que permite exibir conteúdo que não se encaixa completamente na tela. Essa capacidade de rolar é útil quando você tem uma quantidade significativa de conteúdo para exibir, como uma lista longa de itens.