不变违规:此导航器缺少导航道具

我尝试启动我的本机应用程序时收到此消息。通常,这种格式可在其他多屏幕导航上使用,但在这种情况下不起作用。

这是错误:

Invariant Violation: The navigation prop is missing for this navigator. In 
react-navigation 3 you must set up your app container directly. More info: 
https://reactnavigation.org/docs/en/app-containers.html

这是我的应用格式:

import React, {Component} from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { createStackNavigator } from 'react-navigation';

import Login from './view/login.js'
import SignUp from './view/signup.js'

const RootStack = createStackNavigator(
  {
    Home: {
      screen: Login
    },
    Signup: {
      screen: SignUp
    }
  },
  {
    initialRouteName: 'Home'
  }

);

export default class App extends React.Component {
  render() {
    return <RootStack />;
  }
}
古一斯丁2020/03/12 10:59:59

我在底部有代码

export default class App extends React.Component {
  render() {
    return (
      <View >
        <SimpleApp style={{ width: Dimensions.get("window").width }} />
      </View>
    );
  }
}

我简单地将其替换为它,并且就像一个魅力一样工作。肯定是因为react-navigation库中的更新:

const App = createAppContainer(SimpleApp);
export default App;

另外,我还在顶部的react-navigation中包括了createAppContainer库。

猴子Davaid老丝2020/03/12 10:59:59

我过去几天一直在挣扎。可能您是否也在努力解决是否从package.json中删除react-navigation并使用npm安装了它,请检查您的备份项目并查看导航版本并尝试添加相同并删除节点模块,然后进行npm安装。希望它的作品。

祝你好运与React-Native :-)

JinJinNear2020/03/12 10:59:59
const AppNavigator = createStackNavigator({
  Home: { screen: Home },
  Friends: { screen: Friends },
});

简单我做了

const App = createAppContainer(AppNavigator);
export default App;

代替

export default AppNavigator;