反应错误TypeError:无法读取未定义的属性'setState'

时间:2020-05-26 10:30:42

标签: reactjs

在React应用中,我创建了嵌套字典。但这不会让我更改其状态。

constructor() {
    super();
    this.state = {
      todoList: [],
      activeItem: {
        id:null,
        title: '',
        completed: false,
      },
    }
}
  handleChange(event){
    let name = event.target.name
    let value = event.target.value

    this.setState({
      activeItem:{
        title: value,
      }
    })
}

给出错误TypeError:无法读取未定义的属性'setState' 当我尝试更新onChange方法中的输入字段

<input onChange={ this.handleChange } type="text" name='task' ></input>

2 个答案:

答案 0 :(得分:1)

您需要将方法绑定到实例-因此在构造函数中添加以下内容:

this.handleChange = this.handleChange.bind(this)

答案 1 :(得分:0)

这是因为您必须将this与类组件中的普通函数绑定或使用箭头函数。喜欢:

constructor() {
    // ...
   this.handleChange.bind(this);
}

handleChange = (event) => {
    // ...
}