Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Meu Primeiro App com React Native - #06 Navegação entre Telas

01/08/2020

Nesse tutorial iniciaremos a organização do nosso app em screens. Para isso, utilizaremos o módulo React Navigation.

Screens e navegação no React Native

Vamos iniciar instalando o módulo React Navigation e suas dependências:

npm install @react-navigation/native
expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view
npm install @react-navigation/stack

App.js

No nosso entry point (App.js) iremos chamar as screens:

import React, {useState,useEffect} from 'react';
import { Text, View, Button, Alert } from 'react-native';
import {css} from './assets/css/Css';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import Home from './views/Home';
import Login from './views/Login';

export default function App() {

  const Stack = createStackNavigator();

  return (
      <NavigationContainer>
        <Stack.Navigator>
          <Stack.Screen name="Home" component={Home} />
          <Stack.Screen name="Login" component={Login} />
        </Stack.Navigator>
      </NavigationContainer>
  );
}

Repare que no código acima nós importamos cada screen no top level do código.

views/Home.js

Criaremos a screen Home dentro do diretório views, seguindo assim o modelo MVC.

import React from 'react';
import {Text, View, Button} from 'react-native';

export default function Home({navigation}) {

    return (
        <View>
            <Text>Esse é o componente Home</Text>
            <Button
                    title='Ir para Login'
                    onPress={() => navigation.navigate('Login',{
                    id: 30
                })}
            />
        </View>
    );
}

No código anterior, repare que utilizamos um botão para direcionar o usuário para a screen de login passando o parâmetro id, utilizando para isso o objeto navigation.

views/Login.js

Criaremos também o componente Login para exemplificarmos a navegação entre as telas:

import React from 'react';
import { Text, View} from 'react-native';

export default function Login({route})
{
    return(
      <View>
          <Text>Esse é o componente Login do sistema {route.params.id}</Text>
      </View>
    );
}

No código acima resgatamos o parâmetro passado utilizando o objeto route.

Por hoje é só turma. Sucesso nos códigos e na vida!

Precisando de assessoria? webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Meu Primeiro App com React Native - #05 States e Hooks
Nessa videoaula entenderemos outros dois conceitos importantes pra se trabalhar com React Native que são os states e os hooks.
Saiba mais!
Meu Primeiro App com React Native - #07 Screens e Buttons
Nesse tutorial trabalharemos um pouco mais com React Native e Expo. Hoje falaremos sobre screens e buttons.
Saiba mais!
React JS
Nessa seção aprenderemos sobre essa importante biblioteca Javascript desenvolvida pelo Facebook para facilitar a construção backend dos nossos websites.
Saiba mais!