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:
- Criamos o diretório
ordens/list
- Dentro dele, adicionamos o arquivo
[id].tsx
- 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.