控制台无法记录状态

console cannot log state

尝试将信息从状态记录到控制台returns错误“undefined is not an object (evaluating 'this.state.userName')”

我是 JS 的新手,所以我真的不知道它是如何工作的或者它应该如何工作

我尝试用

替换 'this.state.userName'
 - (userName) => this.getState(userName)
 - this.state[userName]
 - 'this.state[1]

None 个达到了预期的效果

这是我的代码:

  constructor(props){
    super(props);
    this.state = {
      userName:'User Name',
      userEmail:'',
      loggedIn: false,
    };
  }

  login() {
    console.log(this.state.userName);
  };

我只是想让控制台记录分配给 userName 的任何内容,即 'User Name'

通过以下方式调用登录: onPress={this.login}

这是一种探索对象的快速方法,您可能会发现导致问题的原因:

console.dir( this.state );

它会将对象的可扩展视图转储到控制台,因此您可以看到其中的内容及其属性。

找到解决方案 (26/06/19):

onPress={this.login.bind(this)} or onPress={() => this.login()}

发现者:Chris G