在React Native应用中使用React Navigation的完整指南

星河追踪者 2022-04-16 ⋅ 19 阅读

React Navigation是一个用于React Native应用程序的流行导航库。它提供了一种简单的方式来管理应用程序中多个屏幕之间的导航。本文将为您提供在React Native应用中使用React Navigation的完整指南。

安装React Navigation

要开始使用React Navigation,首先需要在您的项目中安装它。在终端中执行以下命令:

yarn add @react-navigation/native

或者使用npm:

npm install @react-navigation/native

安装完成后,进入项目的根目录,并运行以下命令以安装所需的peer依赖项:

yarn add react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context

或者使用npm:

npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context

添加导航器

现在,让我们创建我们的第一个导航器。在您的项目根目录下创建一个名为Navigation.js的文件,并在该文件中添加以下代码:

import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import HomeScreen from './HomeScreen';
import DetailsScreen from './DetailsScreen';

const Stack = createStackNavigator();

export default function Navigation() {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="Home" component={HomeScreen} />
        <Stack.Screen name="Details" component={DetailsScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}

上面的代码首先导入了所需的模块和屏幕组件。然后,我们创建了一个Stack导航器,并在导航器中定义了两个屏幕——HomeScreen和DetailsScreen。最后,我们将导航器包装在NavigationContainer组件中,这是使用React Navigation的必备组件。

创建屏幕组件

现在,让我们创建两个屏幕组件来展示我们的导航器。在项目根目录下创建一个名为HomeScreen.js的文件,并在该文件中添加以下代码:

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

export default function HomeScreen({ navigation }) {
  return (
    <View>
      <Text>Home Screen</Text>
      <Button
        title="Go to Details"
        onPress={() => navigation.navigate('Details')}
      />
    </View>
  );
}

在该文件中,我们导入了所需的模块,并创建了一个名为HomeScreen的函数组件。在组件中,我们渲染了一个文本和一个按钮。当按钮被按下时,我们通过调用navigation.navigate方法来导航到Details屏幕。

然后,让我们创建名为DetailsScreen.js的第二个屏幕组件,并在该文件中添加以下代码:

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

export default function DetailsScreen({ navigation }) {
  return (
    <View>
      <Text>Details Screen</Text>
      <Button
        title="Go back to Home"
        onPress={() => navigation.goBack()}
      />
    </View>
  );
}

在这个文件中,我们再次导入所需的模块,并创建了一个名为DetailsScreen的函数组件。在这个组件中,我们渲染了一个文本和一个按钮。当按钮被按下时,我们通过调用navigation.goBack方法来返回到Home屏幕。

设置入口点

现在,让我们将我们的导航器添加到我们的应用程序的入口点文件中。打开App.js文件,并在文件中添加以下代码:

import React from 'react';
import Navigation from './Navigation';

export default function App() {
  return (
    <Navigation />
  );
}

在App.js文件中,我们导入了Navigation组件,并将其返回作为根组件。

运行应用

现在,我们已经准备好运行我们的应用程序了。在终端中执行以下命令:

npx react-native run-android

或者如果您使用的是iOS,请执行以下命令:

npx react-native run-ios

您的应用程序将在模拟器或设备上运行,并显示Home屏幕。当您按下"Go to Details"按钮时,应用程序将导航到Details屏幕。当您按下"Go back to Home"按钮时,应用程序将返回到Home屏幕。

这就是在React Native应用程序中使用React Navigation的完整指南。使用React Navigation,您可以轻松地创建和管理多个屏幕之间的导航。开始构建您的React Native应用程序吧!


全部评论: 0

    我有话说: