1 of 52

Navigation

https://portal.prof.vilhena.ifro.edu.br/

2 of 52

3 of 52

4 of 52

5 of 52

6 of 52

7 of 52

8 of 52

9 of 52

10 of 52

11 of 52

Instalando as bibliotecas

O React Native não possui nativamente uma forma de lidar com navegação, por isso contamos com uma biblioteca chamada react-navigation que vai permitir navegar entre as telas do aplicativo.

12 of 52

Instalando a biblioteca React Navigation

O React Native não possui nativamente uma forma de lidar com navegação, por isso contamos com uma biblioteca chamada react-navigation que vai permitir navegar entre as telas do aplicativo.

13 of 52

14 of 52

15 of 52

16 of 52

Tipos de navegação

Tab navigation

Este tipo de navegação é caracterizado por exibir abas na parte inferior do aplicativo. Ao tocar em uma aba a tela associada será exibida. Além disso na parte superior a barra de título é exibida com o nome da rota ativa. Note que as abas representam os nomes das telas (rotas), como mostra a imagem abaixo.

17 of 52

Tipos de navegação

Drawer navigation

Esse tipo de navegação exibe um menu lateral e uma barra de título. O menu lateral pode ser aberto ao puxar a tela da esquerda para direita ou então através do toque do botão da barra superior.Perceba que os nomes das telas (rotas) aparecem no menu, como mostra a imagem abaixo.

18 of 52

Tipos de navegação

Stack Navigation

Essa navegação possui por padrão uma barra de título e um botão para voltar à tela anterior. Esse tipo de navegação não expõe as telas da aplicação como as anteriores fazem através do menu ou de abas, como mostra a imagem abaixo.

19 of 52

Tab Navigation

20 of 52

Tab Navigation

Navegação através de abas é muito comum em aplicativos e facilita o usuário a identificar quais telas o aplicativo possui.

Veja na imagem abaixo que é possível saber quais são as telas disponíveis no aplicativo apenas olhando para as abas.

Nesta aula vamos aprender como criar rotas em um aplicativo

utilizando Tab Navigation.

21 of 52

Instalando a biblioteca

22 of 52

23 of 52

24 of 52

25 of 52

26 of 52

27 of 52

28 of 52

29 of 52

30 of 52

Stack Navigator

createStackNavigator (Stack Navigator)

Essa navegação possui uma barra de título e por padrão um botão para voltar à tela anterior. Esse tipo de navegação não expõe as telas da aplicação como as anteriores que expõem através do menu ou de abas

Para cada tipo de navegação que será utilizado no aplicativo é necessário instalar a biblioteca correspondente a esse tipo.

Note que os tipos Tab navigation e Drawer navigation possuem os nomes das telas ou

StackNavigator: Quando o usuário toca em um link, uma nova tela é exibida sobre as telas anterior.

31 of 52

Stack Navigator - CreateStackNavigator - Como Usar

32 of 52

Stack Navigator - CreateStackNavigator - Como Usar

33 of 52

Stack Navigator - CreateStackNavigator - Como Usar

34 of 52

Stack Navigator - CreateStackNavigator - Como Usar

35 of 52

36 of 52

37 of 52

38 of 52

39 of 52

Drawer Navigation

  • Drawer navigation é o tipo de navegação que possui uma barra de título e um menu lateral oculto. Este menu é exibido quando o usuário arrasta o dedo do canto para o meio ou quando ele toca no botão da barra de título.
  • Outra forma de abrir o menu é através do toque de um botão exibido junto do conteúdo da tela.

40 of 52

Drawer Navigation

  • Instalando as bibliotecas abaixo
  • Assim como vimos com a biblioteca @react-navigation/bottom-tabs, para utilizar o Drawer navigation será necessário fazer a instalação no seu projeto.
  • Para instalar o Drawer navigation execute o comando abaixo no terminal do VSCode ou no cmd do Windows.

41 of 52

Drawer Navigation

  • Criando a navegação com Drawer navigation

42 of 52

Drawer Navigation

  • Criando a navegação com Drawer navigation

43 of 52

Drawer Navigation

  • Criando a navegação com Drawer navigation

44 of 52

Drawer Navigation

45 of 52

Drawer Navigation

46 of 52

Drawer Navigation

47 of 52

Drawer Navigation

48 of 52

Drawer Navigation

49 of 52

Drawer Navigation

50 of 52

Drawer Navigation

51 of 52

52 of 52