【问题标题】:React Navigation Error (undefined is not an object (evaluating 'Component.router.getStateForAction'))反应导航错误(未定义不是对象(评估'Component.router.getStateForAction'))
【发布时间】:2020-05-25 04:36:28
【问题描述】:

我正在尝试在 React Native 中创建一个简单的导航。但我不断收到这个错误,我认为这与 react Native 导航库有关。

这是我的 App.js 代码:

 import { createAppContainer } from "react-navigation";
    import { createStackNavigator } from "react-navigation-stack";
    import HomeScreen from "./src/screens/HomeScreen";
    import { createMaterialBottomTabNavigator } from "@react-navigation/material-bottom-tabs";

    const Tab = createMaterialBottomTabNavigator();

    function MyTabs() {
      return (
        <Tab.Navigator>
          <Tab.Screen name="Home" component={HomeScreen} />
        </Tab.Navigator>
      );
    }

    export default createAppContainer(MyTabs);

这是它产生的错误:

【问题讨论】:

  • 我可以知道你的导航库版本吗?

标签: react-native mobile expo


【解决方案1】:

您在这里混合了两个版本的导航器,createAppContainer 与导航版本一起使用,createMaterialBottomTabNavigator 与导航版本 5 一起使用。如果您想使用 createMaterialBottomTabNavigator,代码应如下所示。

import * as React from 'react';
import { Text, View } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { createMaterialBottomTabNavigator } from '@react-navigation/material-bottom-tabs';

function HomeScreen() {
  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Text>Home!</Text>
    </View>
  );
}

const Tab = createMaterialBottomTabNavigator();

export default function MyTabs() {
  return (
    <NavigationContainer>
      <Tab.Navigator>
        <Tab.Screen name="Home" component={HomeScreen} />
      </Tab.Navigator>
    </NavigationContainer>
  );
}

【讨论】:

  • 感谢您的澄清!我修复了它现在可以工作了
猜你喜欢
  • 1970-01-01
  • 2021-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-22
  • 2021-10-21
  • 1970-01-01
相关资源
最近更新 更多