Cursos / Informática para Internet / Desenvolvimento para Dispositivos Móveis / Aula
Para iniciar, utilizaremos um projeto simples, resultado do comando abaixo:
expo init ProjectName
Como pudemos ver na apresentação do projeto, serão criadas duas telas: uma com a listagem das postagens e outra com os detalhes de cada post. Então, será preciso criar a navegação entre as telas.
Antes, porém, precisamos instalar algumas bibliotecas para o bom funcionamento do código.
Execute em seu terminal os comandos abaixo:
npm install @react-navigation/native @react-navigation/native-stack
Em seguida:
expo install react-native-screens react-native-safe-area-context
Antes de tudo, para utilizar a navegação precisaremos iniciar a Stack. Para isso, faz-se necessário a importação de uma função e a chamada no código.
Veja o exemplo abaixo:
import { createNativeStackNavigator } from '@react-navigation/native-stack';
const Stack = createNativeStackNavigator()
Como já visto na aula de navegação, temos de envolver toda a parte que desejamos que haja navegação com um componente denominado NavigationContainer. Esse componente envolverá as Stack Screen, que recebem como uma de suas propriedades o componente.
Ao serem exibidos na tela, os componentes, utilizando a navegação, exibem um cabeçalho com o nome da tela atual. Para remover essa informação, além das propriedades principais (name e component), adicionaremos uma prop chamada de options que setará o headerShown para falso.
Veja o exemplo abaixo:
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="Home" component={Home} options={{headerShown: false}}></Stack.Screen>
<Stack.Screen name="BlogPost" component={PostPage} options={{headerShown: false}}></Stack.Screen>
</Stack.Navigator>
</NavigationContainer>
Foram passados os componentes para a Stack Screen, porém, ainda é necessário criá-los. Então, na raiz do projeto, crie uma pasta chamada pages e nela crie as pastas home e post com seus respectivos índices. Veja a estrutura abaixo:
Estrutura de pastas
Acompanhando a aula, implemente os arquivos como abaixo:
home/index.js
import React from 'react'
import { View, Text } from 'react-native'
export default function Home() {
return <View><Text>Home</Text></View>
}
post/index.js
import React from 'react'
import { View, Text } from 'react-native'
export default function BlogPost() {
return <View><Text>BlogPost</Text></View>
} Versão 5.3 - Todos os Direitos reservados