尝试从状态到控制台记录信息会返回错误“未定义不是对象(正在评估'this.state.userName')”
我对JS非常陌生,所以我真的不知道它是如何工作的或应该如何工作的
我尝试用
替换'this.state.userName' - (userName) => this.getState(userName)
- this.state[userName]
- 'this.state[1]
这些都没有达到预期的效果
这是我的代码:
constructor(props){
super(props);
this.state = {
userName:'User Name',
userEmail:'',
loggedIn: false,
};
}
login() {
console.log(this.state.userName);
};
我只希望控制台记录分配给userName的任何内容,即'User Name'
登录通过以下方式调用:
onPress={this.login}
答案 0 :(得分:0)
答案 1 :(得分:-1)
这是探索对象的一种快速方法,您很可能会看到导致问题的原因:
console.dir( this.state );
它将把对象的可扩展视图转储到控制台,这样您就可以查看其中的内容和属性。
答案 2 :(得分:-1)
您可以使用setState
来更改组件中的状态。
注意:setState是异步函数