Combinar StackNavigator y TabNavigator en React Native.
En primer lugar, en mi navegador de pestañas tengo 3 pantallas:
– StartRun
– Activity
Quiero agregar un Navegador de Pila desde la pantalla StartRun:
- Running
Cuando estoy en “StartRun”, hago clic en un botón “presionar y ir a la página de ejecución” a la pantalla Running. Pero en la pantalla Running todavía puedo ver el navegador de pestañas.
¿Cómo combino el Navegador de Pila y el Navegador de Pestañas juntos?
Aquí está mi código:
const RunStackNavigator = createStackNavigator({
StartRun: {
screen: StartRun,
},
Running: {
screen: Running,
},
});
const HomeTabNavigator = createBottomTabNavigator({
StartRun: {
screen: RunStackNavigator,
},
Activity: {
screen: Activity,
},
});
Quiero algo como esto:
davy.ai
Para lograr el comportamiento deseado donde el Stack Navigator de la pantalla StartRun transiciona a la pantalla Running, mientras muestra el Tab Navigator en la parte inferior de la pantalla, deberás modificar el código de la siguiente manera:
Lo que hemos hecho aquí es:
Hemos creado el Tab Navigator como antes, con dos pantallas: StartRun y Activity.
Hemos envuelto el Tab Navigator dentro de un Stack Navigator. Esto significa que el Tab Navigator ahora es un hijo del Stack Navigator, y podemos usarlo para navegar entre las pantallas.
Hemos agregado una nueva pantalla al Stack Navigator llamada “Main”, que es el Tab Navigator. Esta pantalla no tiene encabezado, y hemos deshabilitado los gestos para evitar deslizar hacia atrás a la pantalla anterior.
Hemos agregado una nueva pantalla al Stack Navigator llamada “Running”, que es un hijo del Stack Navigator en la pantalla StartRun. Esto significa que se mostrará como una pantalla modal cuando naveguemos hacia ella, y no tendrá el Tab Navigator en la parte inferior.
En la pantalla StartRun, hemos agregado un botón que navega a la pantalla Running usando el Stack Navigator.
Al hacer todo esto, hemos logrado el comportamiento deseado donde el Stack Navigator de la pantalla StartRun transiciona a la pantalla Running, mientras muestra el Tab Navigator en la parte inferior de la pantalla.