反应本机导航TypeError:未定义不是一个对象(正在评估'Object.keys(routeConfigs)')

时间:2020-03-15 21:41:12

标签: react-native react-navigation

App.js文件中包含以下代码:-

import React, { Component } from 'react';
import { Platform, StyleSheet, Text, View } from 'react-native';
import { createAppContainer } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack';
import { NavigationContainer} from "react-navigation";


const Home = ({ navigation }) => {
  return (
      <View>
        <Text>This is Home page!</Text>
      </View>
  )
}

const Stack = createStackNavigator();

function MyStack() {
  return (
      <Stack.Navigator>
        <Stack.Screen name="Home" component={Home} />
      </Stack.Navigator>
  );
}
 export default function App() {
   return (
       <NavigationContainer>
         <MyStack />
       </NavigationContainer>
   );
}

我遵循此页面上的相同说明:-https://reactnavigation.org/docs/stack-navigator/ 但它给出了一个错误 enter image description here

2 个答案:

答案 0 :(得分:1)

我通过遵循版本4文档解决了该问题 问题是当我通过以下命令安装react-navigation软件包时:-

yarn add @react-navigation/native

我默认情况下假设我在未定义特定版本的情况下安装任何软件包,则假定安装该软件包的最新当前版本(默认为(v5)任何版本),我遵循版本5的软件包文档。当我检查已安装的软件包版本时,我注意到版本4没有安装。

现在我使用版本4堆栈创建语法:-

const navigator = createStackNavigator({
    Home:Home,
},
    {
        initialRouteName: 'Home'
    });
export default createAppContainer(navigator);

现在一切正常

这是

的网址

V5 https://reactnavigation.org/docs/hello-react-navigation

V4 https://reactnavigation.org/docs/4.x/getting-started

答案 1 :(得分:-1)

从以下位置导入导航器文件;

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