Publicado em: 14/05/2024

Na prática: Navegadores aninhados


Neste tutorial, vamos aprender a alinhar um Stack Navigator dentro de um Tab Navigator em um aplicativo React Native com Expo Router.

Contexto do Projeto

No projeto atual, já temos um Tab Navigator com três telas registradas, incluindo uma tela de perfil oculta. Agora, queremos adicionar uma tela de edição de perfil que não apareça como uma aba no menu inferior.

Criando a Tela de Edição

Passos para implementar:

  1. Criar um novo arquivo edit.tsx com um componente simples (ex: 'Hello from Edit Profile').
  2. Mover as telas de perfil (profile.tsx e edit.tsx) para uma pasta chamada profile.
  3. Renomear profile.tsx para index.tsx (tela inicial do perfil).

Configurando o Stack Navigator

Dentro da pasta profile, criar um arquivo _layout.tsx para definir um Stack Navigator:

1<Stack><Stack.Screen name='index'/><Stack.Screen name='edit' /></Stack>

Isso permite que a tela de edição seja acessível apenas via navegação interna, sem aparecer no Tab Navigator.

Navegação entre Telas

Na tela de perfil (index.tsx), adicionar um link para a edição:

1<Link href='/profile/edit'>Editar Perfil</Link>

Ao clicar, o Stack Navigator exibirá a tela de edição com um cabeçalho padrão (incluindo botão de voltar).

Considerações Finais

Alinhar Stack Navigator com Tab Navigator oferece vantagens como:

  • Controle preciso de quais telas aparecem no menu inferior.
  • Otimização de performance (telas são carregadas sob demanda).
  • Flexibilidade para personalizar cabeçalhos e fluxos de navegação.

Experimente adaptar essa estrutura para outros fluxos, como configurações ou detalhes de itens, sempre mantendo a organização do projeto.

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