Publicado em: 23/08/2023

Rotas Dinâmicas Descomplicadas: Dominando Expo Router com Jancer


No vídeo de hoje, mergulhamos no mundo das rotas dinâmicas no Expo Router, mostrando como implementar esse recurso poderoso que transforma a forma como lidamos com navegação em aplicativos React Native.

O Problema das Rotas Estáticas

Começamos com um cenário comum: nossa aplicação tinha rotas fixas como /ordens/carrinho, mas esbarramos na limitação de precisar acessar informações específicas (como um ID de pedido). Qualquer tentativa de navegar para /ordens/12345 resultava em erro, pois não tínhamos uma rota configurada para aceitar parâmetros dinâmicos.

Criando a Rota Dinâmica

A solução veio com a criação de um arquivo especial:

  1. Criamos o diretório ordens/list
  2. Dentro dele, adicionamos o arquivo [id].tsx
  3. Os colchetes em [id] indicam que esta parte da URL é dinâmica

Este simples padrão de nomenclatura permite que qualquer valor após ordens/list/ seja capturado como parâmetro.

Dois Métodos de Navegação

1. Navegação Direta na URL

1router.push('/ordens/list/12345')

O valor '12345' é automaticamente capturado como parâmetro id na rota de destino.

2. Enviando Objeto com Parâmetros

1router.push({ pathname: '/ordens/list/[id]', params: { id: 'mestres' } })

Esta abordagem é mais explícita e permite enviar múltiplos parâmetros.

Demonstração Prática

No vídeo, testamos diversos cenários:

  • Números (12345)
  • Strings (mestres)
  • Parâmetros mistos (via objeto)

Em todos os casos, o Expo Router fez o parse automático dos valores, disponibilizando-os no componente de destino.

Aplicações no Mundo Real

Essa técnica abre portas para:

  • Deep Linking: Usuários podem acessar conteúdo específico diretamente
  • Páginas de Detalhes: Visualizar informações de pedidos, produtos ou usuários
  • Compartilhamento: Enviar links que levam exatamente ao conteúdo relevante

Dicas Importantes

  • Nomes de parâmetros devem ser descritivos ([pedidoId] é melhor que [id])
  • Você pode ter múltiplos parâmetros: [categoria]/[produtoId]
  • Combine com validação de tipos para maior segurança

Considerações Finais

As rotas dinâmicas são um divisor de águas no desenvolvimento com Expo. Elas trazem a flexibilidade que conhecíamos no desenvolvimento web para o mundo mobile, mantendo a simplicidade característica do Expo Router.

Fernando Cunha
Artigo deFernando Cunha

Com mais de 15 anos de experiência em tecnologia e formado pela FAAP em Administração de empresas, hoje é o CEO da Mestres da Web, empresa referência no mercado nacional e com projeções de expansão internacional.

últimos vídeos

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

Au 02 - Front-end - React - Estrutura de projeto - Mestres BEGIN
play

Au 02 - Front-end - React - Estrutura de projeto - Mestres BEGIN

Explorando a estrutura gerada pelo Create React App, entendendo o papel das pastas public e src, os conceitos de Virtual DOM, JSX e componentes, além de como o CSS é aplicado nos projetos React.

Autor deste artigo
Fernando Cunha17/03/2025
Au 03 - Front-end - React - Criando layout da nossa aplicação - Mestres BEGIN
play

Au 03 - Front-end - React - Criando layout da nossa aplicação - Mestres BEGIN

Explorando a criação de um layout fixo para a aplicação React, com barra lateral, barra superior e área dinâmica para conteúdo. Utilizando o React Router Dom v6 para gerenciar navegação entre rotas.

Autor deste artigo
Fernando Cunha17/03/2025
Au 04 - Front-end - React - Estilizando o layout da aplicação - Mestres BEGIN
play

Au 04 - Front-end - React - Estilizando o layout da aplicação - Mestres BEGIN

Abordando técnicas para organizar estilos em React, utilizando seletores CSS, CSS Modules, integração com React Router, reset CSS eficiente e boas práticas para garantir consistência visual e manutenibilidade.

Autor deste artigo
Fernando Cunha17/03/2025