React Native,Android,undefined不是对象(评估'this.props.navigator.push')

时间:2015-12-08 09:42:12

标签: android react-native

我正在尝试在提交button点击时从登录屏幕导航到主屏幕... 以下是我的导航功能

  onsubmitButtonPress(event)
{
  if(User != null && password != null){
    if(User != '' && password != ''){
    if (User == password){
      ToastAndroid.show('Login Successful', ToastAndroid.SHORT);
      this.props.navigator.push({
              title: 'Home',
              component: HomeScreen,
            });
    }else{
      ToastAndroid.show('Login Failed', ToastAndroid.SHORT);
    }
  }else{
    ToastAndroid.show('Fill details', ToastAndroid.SHORT);
  }
  }else{
    ToastAndroid.show('Fill details', ToastAndroid.SHORT);
  }
}

但是我收到了这个错误。任何人都可以帮我解决..

1 个答案:

答案 0 :(得分:1)

问题很可能就是你如何调用onsubmitButtonPress。根据以下内容更改在组件上设置的位置:

someProp={this.onsubmitButtonPress}

到此:

someProp={(e) => this.onsubmitButtonPress(e)}

问题在于this未定义。

如果不是那样,那么你可能永远不会定义this.props.navigator。在你的函数中放置一个断点(或console.log)来记录this.props的值并检查它是否存在,如果存在,是否定义了this.props.navigator