【问题标题】:react-navigation undefined is not a function (evaluating '(0 _reactnavigation.StackNavigator)')react-navigation undefined 不是函数(评估'(0 _reactnavigation.StackNavigator)')
【发布时间】:2019-05-10 15:18:12
【问题描述】:

我正在构建一个新项目。然后我正在安装 react-navigation 但它不起作用。

代码

import { StackNavigator, } from 'react-navigation';
import Intro from './src/pages/Intro';

const AppNavigator = StackNavigator({
  Intro: {
    screen: Intro,
    navigationOptions: {
      title: "Intro",
      header: null,
      navigationBar: null
    },
  },
});
export default class App extends Component {
  render() {
    return (
      <AppNavigator />
    );
  }
}

错误

=========================================

【问题讨论】:

标签: react-native react-navigation


【解决方案1】:

半个月前我已经放弃了。

然而,今天它没有任何变化,没有任何依赖刷新!

所以,我认为可能需要重新启动计算机。见鬼。

【讨论】:

    【解决方案2】:

    我正在考虑您正确安装了 react-navigation。

    npm install --save react-navigation
    

    试试这个:

    import { createStackNavigator } from 'react-navigation';
    import Intro from './src/pages/Intro';
    
    const AppNavigator = createStackNavigator({
      Intro: {
        screen: Intro,
        navigationOptions: {
          title: "Intro",
          header: null,
          navigationBar: null
        },
      },
    });
    export default class App extends Component {
      render() {
        return (
          <AppNavigator />
        );
      }
    }
    

    【讨论】:

    • 我试过了。我在非对象中未定义(现在正在评估“RNGestureHandlerModule.State”错误。
    • 你正确安装了 react-native, expo-cli 吗?
    • 导出默认类 App extends Component { render() { return ( ); } } 更改为 const AppContainer = createAppContainer(AppNavigator);导出默认 AppContainer;现在开始工作。
    • undefined in not object(现在正在评估'RNGestureHandlerModule.State'错误。我也遇到同样的错误
    【解决方案3】:

    已安装导航:

    npm install --save react-navigation
    npm install --save react-native-gesture-handler
    react-native link
    

    试试这个App.js:

    import React, { Component } from 'react';
    import {createStackNavigator, createAppContainer} from 'react-navigation';
    
    import Home from './screens/Home';
    import Settings from './screens/Settings';
    
    const AppNavigator = createStackNavigator({
      HomeScreen: { 
        screen: Home,
      },
      SettingScreen: { 
        screen: Settings, 
      },
    });
    
    const App = createAppContainer(AppNavigator);
    
    export default App;
    

    【讨论】:

      【解决方案4】:

      它是 100% 工作的。

      使用 react-navigation (3.x) 版本^3.0.0:

      import {
          createDrawerNavigator,
          createStackNavigator,
          createBottomTabNavigator,
          createAppContainer,
      } from 'react-navigation';
      
      
      const AppNavigator = createStackNavigator({
        Home: { screen: HomeScreen }
      });
      
      export default createAppContainer(AppNavigator);
      

      【讨论】:

        【解决方案5】:

        确保您的react-nativereactreact-navigation 版本如下:

         "react-navigation": "^2.18.2",
        
         "react": "16.6.0-alpha.8af6728",
        
         "react-native": "0.57.4",
        

        希望这对您有所帮助。因为最新版的v3.0在导航上有更多的问题。

        【讨论】:

        • 导出默认类 App extends Component { render() { return ( ); } } 更改为 const AppContainer = createAppContainer(AppNavigator);导出默认 AppContainer;现在工作。谢谢。
        • 你好尤努斯。你能发布你的 App.js 文件吗?我也遇到同样的错误。提前致谢
        猜你喜欢
        • 2020-04-30
        • 2019-06-10
        • 2019-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-27
        相关资源
        最近更新 更多