首页 > 解决方案 > 反应本机导航错误。我该如何解决这个问题?

问题描述

在这段代码中,我想使用 navigation.navigate 在主屏幕和配置文件屏幕之间切换。但是当我运行该应用程序时,我收到以下错误:找不到变量导航。我一直在寻找解决方案,但似乎找不到。这是代码:

import 'react-native-gesture-handler';
import * as React from 'react';
import {View, Text, Button} from 'react-native';
import { NavigationContainer, StackActions } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';

const Stack = createStackNavigator();

const HomeScreen = () => {
  return(
    <View>
      <Text>Home Screen</Text>
      <Button title="Go to Profile Screen" onPress={()=> navigation.navigate("Profile")}/>
    </View>
  );

}
const ProfileScreen = () => {
  return(
    <View>
      <Text>Profile Screen</Text>
      <Button title="Go to Home Screen" onPress={() => navigation.navigate("Home")}/>
    </View>
  );

}
export default function App() {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen 
          name="Profile" 
          component={ProfileScreen}
          options={{ title: '' }}
        />
        <Stack.Screen 
          name="Home" 
          component={HomeScreen}
        />
      </Stack.Navigator>
    </NavigationContainer>
  );
}

先感谢您。

标签: react-nativereact-navigationreact-navigation-stack

解决方案


您可以从中获取navigation对象props。代码示例:

const HomeScreen = ({navigation}) => {
  return(
    <View>
      <Text>Home Screen</Text>
      <Button title="Go to Profile Screen" onPress={()=> navigation.navigate("Profile")}/>
    </View>
  );
}

推荐阅读