TypeError:无法读取未定义的属性“ State”

时间:2019-03-04 11:49:42

标签: javascript reactjs react-native

获取错误:

  

TypeError:无法读取未定义的属性“状态”

当我要通过事件onSubmit()获取输入状态值时,会遇到此错误。

onFormSubmit(event){
    event.preventDefault();
    console.log(this.state.term);
}

3 个答案:

答案 0 :(得分:1)

您没有上下文(this未绑定到您的函数)。

您可以使用以下任一方法解决此问题:

首先,将其绑定到构造函数中

constructor(props) {
  super(props);
  this.onFormSubmit = this.onFormSubmit.bind(this);
}

第二,使用箭头功能

onFormSubmit = (event) => {
  ...
}

第三,使用autobind-decorator之类的

@boundMethod
onFormSubmit(event) {
  ...
}

答案 1 :(得分:0)

改为使用箭头功能:

更改

onFormSubmit(event){
    event.preventDefault();
    console.log(this.state.term);
}

收件人

onFormSubmit= (event)=>{
    event.preventDefault();
    console.log(this.state.term);
}

答案 2 :(得分:0)

使用类似箭头的功能:

onFormSubmit = (event) =>{
  event.preventDefault();
  console.log(this.state.term);
}