React Navigation és una biblioteca popular per a la navegació en aplicacions React Native. Proporciona una manera senzilla i flexible de gestionar la navegació entre pantalles en una aplicació mòbil. En aquest tema, aprendrem els conceptes bàsics de React Navigation, com configurar-lo i com crear una navegació bàsica entre pantalles.
Objectius d'aprenentatge
- Comprendre què és React Navigation i per què és útil.
- Configurar React Navigation en un projecte de React Native.
- Crear una navegació bàsica entre pantalles.
Què és React Navigation?
React Navigation és una biblioteca que permet gestionar la navegació en aplicacions React Native. Ofereix diverses opcions de navegació, com ara Stack Navigator, Tab Navigator i Drawer Navigator, que permeten crear experiències d'usuari riques i intuïtives.
Avantatges de React Navigation
- Flexibilitat: Permet crear navegacions complexes amb facilitat.
- Modularitat: Cada tipus de navegació es pot configurar de manera independent.
- Integració: Es pot integrar fàcilment amb altres biblioteques i components de React Native.
Configuració de React Navigation
Pas 1: Instal·lació de les dependències
Per començar a utilitzar React Navigation, primer hem d'instal·lar les dependències necessàries. Obre el terminal i executa les següents comandes:
També necessitem instal·lar les dependències necessàries per a React Native:
Pas 2: Configuració bàsica
Després d'instal·lar les dependències, hem de configurar el nostre projecte per utilitzar React Navigation. Obre el fitxer App.js
i afegeix el següent codi:
import * as React from 'react'; import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; import HomeScreen from './screens/HomeScreen'; import DetailsScreen from './screens/DetailsScreen'; const Stack = createNativeStackNavigator(); function App() { return ( <NavigationContainer> <Stack.Navigator initialRouteName="Home"> <Stack.Screen name="Home" component={HomeScreen} /> <Stack.Screen name="Details" component={DetailsScreen} /> </Stack.Navigator> </NavigationContainer> ); } export default App;
Explicació del codi
- NavigationContainer: És el contenidor principal per a la navegació. Ha d'envoltar tota la jerarquia de navegació.
- createNativeStackNavigator: Crea un Stack Navigator, que permet la navegació entre pantalles en forma de pila.
- Stack.Navigator: Defineix la configuració del Stack Navigator.
- Stack.Screen: Defineix cada pantalla dins del Stack Navigator.
Pas 3: Creació de pantalles
Ara, crearem dues pantalles senzilles: HomeScreen
i DetailsScreen
. Crea un directori anomenat screens
i afegeix els següents fitxers:
HomeScreen.js
import * as React from 'react'; import { View, Text, Button } from 'react-native'; function HomeScreen({ navigation }) { return ( <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}> <Text>Home Screen</Text> <Button title="Go to Details" onPress={() => navigation.navigate('Details')} /> </View> ); } export default HomeScreen;
DetailsScreen.js
import * as React from 'react'; import { View, Text } from 'react-native'; function DetailsScreen() { return ( <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}> <Text>Details Screen</Text> </View> ); } export default DetailsScreen;
Explicació del codi
- HomeScreen: Conté un botó que, quan es prem, navega a la pantalla de detalls utilitzant la funció
navigation.navigate('Details')
. - DetailsScreen: Mostra un text senzill.
Exercici pràctic
Objectiu
Crear una aplicació amb dues pantalles: una pantalla d'inici i una pantalla de detalls. La pantalla d'inici ha de tenir un botó que navegui a la pantalla de detalls.
Passos
- Configura React Navigation seguint els passos anteriors.
- Crea les pantalles
HomeScreen
iDetailsScreen
. - Afegeix un botó a
HomeScreen
que navegui aDetailsScreen
.
Solució
La solució ja s'ha proporcionat en els exemples de codi anteriors. Assegura't de seguir els passos i verificar que la navegació funcioni correctament.
Errors comuns i consells
- Error: "Unable to resolve module": Assegura't d'haver instal·lat totes les dependències necessàries.
- Error: "No route found": Verifica que els noms de les pantalles coincideixin amb els noms utilitzats en
navigation.navigate
.
Conclusió
En aquesta secció, hem après què és React Navigation, com configurar-lo i com crear una navegació bàsica entre pantalles. Aquest és el primer pas per crear aplicacions React Native amb navegació complexa i intuïtiva. En el següent tema, explorarem el Stack Navigator en més detall.
Curs de React Native
Mòdul 1: Introducció a React Native
- Què és React Native?
- Configuració de l'entorn de desenvolupament
- Aplicació Hello World
- Comprendre JSX
- Components i Props
Mòdul 2: Components bàsics i estilització
- Visió general dels components bàsics
- Text, View i Image
- Estilització amb Flexbox
- Gestió de l'entrada de l'usuari
- ScrollView i ListView
Mòdul 3: Estat i cicle de vida
- Mètodes d'estat i cicle de vida
- Gestió d'esdeveniments
- Renderització condicional
- Llistes i claus
- Formularis i components controlats
Mòdul 4: Navegació
- Introducció a React Navigation
- Stack Navigator
- Tab Navigator
- Drawer Navigator
- Passar paràmetres a les rutes
Mòdul 5: Xarxes i dades
- Obtenir dades amb Fetch API
- Utilitzar Axios per a sol·licituds HTTP
- Gestió d'errors de xarxa
- AsyncStorage per a dades locals
- Integració amb APIs REST
Mòdul 6: Conceptes avançats
Mòdul 7: Desplegament i publicació
- Construcció per a iOS
- Construcció per a Android
- Publicació a l'App Store
- Publicació a Google Play
- Integració i lliurament continus