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

在开发应用程序时,我们希望从一个屏幕切换到另一个屏幕,这由 React 导航处理。

要在导航页面上工作,我们需要安装几个软件包,如下所示 -

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

完成上述安装后,让我们现在继续在 React Native 中进行下一个导航设置。

在您的应用项目中创建一个名为 pages/ 的文件夹。创建 2 个 js 文件HomePage.js和 AboutPage.js。

页面/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('About', { name: 'About Page' })}/>

   );

};

export default HomeScreen;

在主页中,我们希望显示一个标题为 Click Here 的按钮。Onclick 按钮,用户将导航到 AboutPage 屏幕。

关于页面的详细信息如下 -

页面/关于Page.js

import * as React from 'react';

import { Button, View, Alert, Text } from 'react-native';

const AboutPage = () => {

   return <Text>You have reached inside About Page!</Text>;

};

export default AboutPage;

在 about 页面中,我们只显示如上所示的文本。

现在让我们App.js按如下方式调用页面-

这些页面被称为如下 -

import HomePage from './pages/HomePage';

import AboutPage from './pages/AboutPage';

此外,我们需要从 @react-navigation/native 导入 NavigationContainer 将充当导航容器。从@react-navigation/stack 添加 createStackNavigator。

拨打createStackNavigator()如下所示的电话-

const Stack = createStackNavigator();

现在,您可以使用 <Stack.Navigator> 作为父容器将页面添加到此 Stack 中。Stack.Navigation帮助您的应用程序在每个新屏幕放置在堆栈顶部的屏幕之间进行转换。

<NavigationContainer><Stack.Navigator><Stack.Screen name="Home" component={HomePage} options={{ title: 'From home page : Navigation' }} /><Stack.Screen name="About" component={AboutPage} />

</Stack.Navigator></NavigationContainer>

要为主页屏幕创建堆栈,请按如下方式完成 -

<Stack.Screen name="Home" component={HomePage} options={{ title: 'From home page : Navigation' }} />

要为 AboutPage 屏幕创建堆栈,请按如下方式完成 -

<Stack.Screen name="About" component={AboutPage} />

这是在 React Native 中帮助导航屏幕的完整代码 -

import * as React from 'react';

import { NavigationContainer } from '@react-navigation/native';

import { createStackNavigator } from '@react-navigation/stack';

import HomePage from './pages/HomePage';

import AboutPage from './pages/AboutPage';

const Stack = createStackNavigator();

const MyStack = () => {

   return (

      <NavigationContainer><Stack.Navigator><Stack.Screen name="Home" component={HomePage} options={{ title: 'From home page : Navigation' }} /><Stack.Screen name="About" component={AboutPage} />

      </Stack.Navigator></NavigationContainer>

   );

};

export default MyStack;

以上是 如何在 React Native 中处理从一个页面到另一个页面的导航? 的全部内容, 来源链接: utcz.com/z/345791.html

回到顶部