Maison > interface Web > js tutoriel > Comment gérer la navigation d'une page à une autre dans React Native ?

Comment gérer la navigation d'une page à une autre dans React Native ?

PHPz
Libérer: 2023-09-05 23:37:07
avant
805 Les gens l'ont consulté

如何在 React Native 中处理从一个页面到另一页面的导航?

Lors du développement de l'application, nous souhaitons passer d'un écran à un autre et cela est géré via la navigation React.

Pour travailler sur la page de navigation, nous devons installer certains packages comme indiqué ci-dessous - p>

npm install @react-navigation/native @react-navigation/stack
npm install @react-native-community/masked-view react-native-screens react-native-safe-area-context react-native-gesture-handler
Copier après la connexion

Après avoir terminé l'installation ci-dessus, passons maintenant à la configuration de navigation suivante dans React Native.

Créez un dossier appelé Pages/ dans votre projet d'application. Créez 2 fichiers js HomePage.js et AboutPage.js.

pages/HomePage.js

import * as React from 'react';
import { Button, View, Alert, Text } from 'react-native';
const HomeScreen = ({ navigation }) => {
   return (
      <Button title="Click Here" onPress={() => navigation.navigate(&#39;About&#39;, { name: &#39;About Page&#39; })}/>
   );
};
export default HomeScreen;
Copier après la connexion

Dans la page d'accueil, nous souhaitons afficher un bouton intitulé "Cliquez ici". En cliquant sur ce bouton, l'utilisateur accédera à l'écran AboutPage. Les détails de

AboutPage sont les suivants -

pages/AboutPage.js

import * as React from &#39;react&#39;;
import { Button, View, Alert, Text } from &#39;react-native&#39;;
const AboutPage = () => {
   return <Text>You have reached inside About Page!</Text>;
};
export default AboutPage;
Copier après la connexion

Dans la page À propos, nous affichons simplement le texte comme indiqué ci-dessus.

Maintenant, appelons la page dans App.js comme suit -

La page s'appelle comme suit -

import HomePage from &#39;./pages/HomePage&#39;;
import AboutPage from &#39;./pages/AboutPage&#39;;
Copier après la connexion

De plus, nous devons importer le NavigationContainer de @react-navigation/native qui fera office de conteneur de navigation. Ajoutez createStackNavigator depuis @react-navigation/stack.

Appelez createStackNavigator() comme indiqué ci-dessous -

const Stack = createStackNavigator();
Copier après la connexion

Vous pouvez maintenant ajouter des pages à cette pile en utilisant comme conteneur parent. Stack.Navigation aide votre application à faire la transition entre les écrans, chaque nouvel écran étant placé au sommet de la pile.

<NavigationContainer><Stack.Navigator><Stack.Screen name="Home" component={HomePage} options={{ title: &#39;From home page : Navigation&#39; }} /><Stack.Screen name="About" component={AboutPage} />
</Stack.Navigator></NavigationContainer>
Copier après la connexion

Pour créer une pile pour l'écran d'accueil, procédez comme suit -

<Stack.Screen name="Home" component={HomePage} options={{ title: &#39;From home page : Navigation&#39; }} />
Copier après la connexion

Pour créer une pile pour l'écran AboutPage, procédez comme suit -

<Stack.Screen name="About" component={AboutPage} />
Copier après la connexion

Voici le code complet qui aide dans l'écran de navigation dans React Native -

import * as React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import HomePage from &#39;./pages/HomePage&#39;;
import AboutPage from &#39;./pages/AboutPage&#39;;
const Stack = createStackNavigator();
const MyStack = () => {
   return (
      <Stack.Screen name="Home" component={HomePage} options={{ title: &#39;From home page : Navigation&#39; }} /><Stack.Screen name="About" component={AboutPage} />
      
   );
};
export default MyStack;
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal