Template de rotas React Native com native stack, bottom-tabs e drawer navigator ⚛
Sempre que pensava em iniciar um novo projeto React Native me lembrava da chatice de configurar a parte de rotas e já ficava com preguiça, as vezes até com medo me perguntando: como posso fazer um projeto que tenha native stack
, bottom-tabs
e drawer navigator
assim como o twitter?
Exemplo:
Obs.: site utilizado para editar o vídeo - veed.io
Por isso, resolvi desenvolver um projeto template que contemplasse as rotas de autenticação (auth.routes.tsx
) e rotas do aplicativo (app.routes.tsx
), para que quando eu fosse iniciar um novo projeto, pudesse criar a partir deste pré-configurado.
Dessa forma, optei por utilizar o expo e React Navigation e desenvolvi no modelo mais simples que consegui. Basicamente estruturei da seguinte forma:
src
context
AuthContext
- responsável pela função de login e alteração do state de user para as rotas
routes
app.routes
- rotas após logado, comdrawer
>bottom-tabs
>native stack
auth.routes
- deslogado, comnative stack
entresignIn
esignUp
screensindex
- renderização condicional entre<AppRoutes />
e<AuthRoutes />
screens
Details
- acesso através de botão naHome
-native stack
Home
-bottom-tabs
Profile
-drawer
Settings
-bottom-tabs
SignIn
-native stack
SignUp
-native stack
Ou seja:
auth.routes
utilizandonative stack
entre as telasSignIn
eSignUp
app.routes
com odrawer
entre as telas dobottom-tabs
eProfile
, que por sua vez, dentro dobottom-tabs
possui navegação entre aSettings
enative stack
, que possui as telasHome
eDetails
.
Obs.: esses bugs de cores ao abrir o drawer ocorrem somente no gif pois tive que redimensionar
Conclusão
Acredito que esse template possa facilitar a vida de todos, dessa forma deixo aqui o link do repo routes-template para que possam ter acesso e sugerir melhorias.
Se você achou este projeto útil, por favor considere dar uma estrela no GitHub. ⭐️ Isso significaria muito para mim e me motivaria a continuar melhorando. Obrigado!
Top!! To desenvolendo meu primeiro projeto freela com react native, e tava quebrando a cabeça justamente com as rotas... Vai me ajudar bastante... VALEUU!! 🤓 👏👏👏 🤓
Muito bom! Eu lembro que quebrei muito a cabeça com isso, vai ser bom de mais para os próximos! Parabéns!
muito bom marcão, pra mim criar rotas no native sempre foi uma dor de cabeça mas essa ficou bem simples e pratico dessa maneira. curti bastante👏🏻👏🏻
Muito bacana. :clap: Obrigado por compartilhar. Aproveitando: Alguém já tentou utilizar o Expo Router para as rotas? Li que facilitaram bastante o processo, mas não tive tempo de tentar implementar.
Parabéns pela iniciativa, essa parte é realmente umas das mais "chatinhas" ao se iniciar o projeto!
Incrível, quem trabalha/estuda react native sabe a chatice que é configurar as rotas e ainda mais se você estiver usando typescript!
Top Marcos !!!