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
871 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!

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