¿Te interesa aprender a gestionar eficazmente la navegación entre pantallas en tus aplicaciones de React Native? El stack de navegación es una técnica clave que permite a los usuarios desplazarse naturalmente por tus aplicaciones. En esta guía aprenderemos el paso a paso para crear un stack y realizar una navegación sencilla mediante botones en React Native, mejorando así la experiencia de usuario de manera notable.
¿Cómo crear pantallas básicas en React Native?
Crear pantallas o screens básicas en nuestra aplicación es el primer paso esencial:
Dentro de SRC, crea una nueva carpeta llamada screens.
Genera dos archivos: homeScreen.js y settingsScreen.js.
Usa la función rápida para creación de componentes en React Native:
importReactfrom'react';import{View,Text}from'react-native';exportdefaultfunctionHomeScreen(){return(<View><Text>Estamos en HomeScreen</Text></View>);}
Este proceso se repite para la pantalla settingsScreen.js, ajustando el texto según corresponda.
¿Qué necesitas para integrar un stack de navegación?
Para administrar la navegación entre pantallas, es necesario incorporar lo siguiente:
Instala y usa la librería @react-navigation/stack:
El orden de las pantallas determina cuál aparece primero, aunque se puede establecer una ruta inicial específica mediante la propiedad initialRouteName.
¿Cómo navegar entre pantallas utilizando botones?
Implementar la navegación mediante botones en React Native implica:
Extraer la propiedad navigation desde props para usar la función navigate:
Crear botones reactivos que llamen a esta función:
<Button title="Ir a Ajustes" onPress={goToSettings}/>
Siguiendo estos pasos, se consigue que al pulsar un botón los usuarios se desplacen fácilmente hacia otras pantallas, con funcionalidad integrada y coherencia visual.
¿Cómo realizar navegación parametrizada entre pantallas?
Además, se puede optimizar avanzando un poco más:
Usa funciones genéricas con parámetros para reutilizar código eficazmente:
He aquí la importancia de saber Inglés y tener comprehensión; la documentación dice que la versión 5 para atrás ya no es mantenida. Lo que da cabida a muchos errores de compatibilidad.
Para evitar horas de debuggeo yo simplemente usé la versión recomendada por la misma documentación y todo funciona correctamente.
Para los que hayan tenido el problema con @babel/plugin-proposal-export-namespace-from
Tuve que parar obviamente el server, ingresar el comando:
yarn add react-native-reanimated
Luego ir al babel.config.js y colorar ++sobre el final++:
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
'react-native-reanimated/plugin',
],
};
Por último el comando yarn cache clean (muy importante) e iniciar el server normlamente.
Espero que les sirva!
El curso esta un poco desactualizado, he tenido la ayuda de deepsek para optimizar mas mi codigo, si presentan un problema como el de <NavigationContainer> verifiquen que a la hora de la instalacion no lo instalasen con expo router en caso que si , solamente agreguen la parte del navigationstack
Se usa Stack. porque Stack es una constante que almacena el resultado de createStackNavigator(). Al usar Stack.Navigator y Stack.Screen, accedes a los componentes Navigator y Screen que esta función te proporciona para crear la navegación, como se explica en la clase.