本机undefined不是一个对象

时间:2017-07-26 06:39:25

标签: react-native

我是新来的本地反应,我想知道为什么我得到这样的错误undefined不是一个对象。我试图在login.js按钮上添加第二个屏幕

但我无法启动应用程序因为undefined不是指向此处的对象const {navigate} = props.navigation;

谢谢你们

这是我的代码

const login = (props) => {

    const { navigate } = props.navigation;


    return (
        <View style={styles.container}>

<View style={styles.img}>
      <Image source={require('./download.png')} />
      </View>
<View style={styles.but}>
     <Button
  onPress={() => navigate ('QR')}
  title="Sign in"
  color="#2f4f4f"
/>
</View>

      </View>

    );
}


login.navigationOptions = {
    title: 'Login',
};


export default login

这是我的index.android.js

export default class Task extends Component {
  render() {

    const { navigation} = this.props;
    return (
      <Login navigation={navigation }/>
    )
  }
}

const SimpleApp = StackNavigator({
  Home: {screen: Login},
  SecondScreen: {screen: QR}
});

1 个答案:

答案 0 :(得分:0)

我认为这个问题是由于'index.android.js'中错误使用导航器引起的。

尝试更改'index.android.js',如下所示:

export default class Task extends Component {
  render() {
    return (
      <SimpleApp />
    )
  }
}

const SimpleApp = StackNavigator({
  Home: {screen: Login},
  SecondScreen: {screen: QR}
});

AppRegistry.registerComponent(yourAppName, () => Task);

希望它有所帮助。