Publicado em: 22/08/2023

Navegando entre rotas - Dominando a Componente Link e o Hook useRouter!


Neste tutorial, exploramos como implementar navegação entre telas em um aplicativo React Native usando o Expo Router. O sistema de navegação é baseado em arquivos, onde cada arquivo dentro do diretório 'app' se torna uma rota automaticamente.

Criando Rotas

Para adicionar novas telas ao aplicativo:

  • Crie arquivos no diretório 'app' (ex: about.tsx para a rota /about)
  • Organize telas relacionadas em subdiretórios (ex: app/pedidos/carrinho.tsx)
  • Cada arquivo deve exportar um componente React que renderiza o conteúdo da página

Componente Link

Para navegação declarativa entre telas:

1import { Link } from 'expo-router'; 
2<Link href='/about'><Text>Sobre</Text></Link>

O Link pode envolver qualquer componente interativo. Quando usado com componentes como Pressable, é necessário adicionar a propriedade asChild para propagar corretamente os eventos de toque.

Navegação Programática

Para navegar sem interação direta do usuário:

1import { useRouter } from 'expo-router'; 
2 const router = useRouter(); setTimeout(() => { router.push('/pedidos/carrinho'); }, 5000);

Métodos de Navegação

  • push: Adiciona uma nova tela à pilha de navegação (permite voltar)
  • replace: Substitui a tela atual (não permite voltar)
  • back: Volta para a tela anterior
  • setParams: Atualiza parâmetros da rota atual (útil para rotas dinâmicas)

Próximos Passos

Nas próximas aulas, exploraremos rotas dinâmicas e passagem de parâmetros entre telas, recursos essenciais para criar aplicativos mais complexos e interativos.

últimos vídeos

veja nossos vídeos mais recentes e esteja por dentro de muitas novidades.