当onChange处理程序时,我有一些功能(Promise Resolve)
此函数将通过PromiseValue
来获取数据数组,因此我使用.Then( result )
来获取数组字段,当我用console.log打印result
时,它可以工作。
但是问题出在this.setState
上,因为总是出现错误并显示错误消息: _this2.setState不是函数
getList(checkboxes['myCheckbox']).then(
result => {
this.setState({ CheckBox: result })
}
).catch( err => {
console.log(err)
});
先感谢
答案 0 :(得分:0)
如果没有更多的组件,则可能是由于您组件中的onChange
处理程序未绑定到class
实例而引起的。因此,当onChange
触发并执行了承诺代码时,将不会定义this.setState
。
如果满足以下条件,则可以使其正常工作
:this.handleChange = this.handleChange.bind(this)
const handleChange = () => { // your code };
useState
; 尽管我没有代码的全文,但我可能错了!希望这会有所帮助:)
答案 1 :(得分:0)
在Promise.then()内部。 此始终引用回调函数本身。因此就没有 setState 函数。
尝试定义一个新函数以将结果保存到状态中。