目前,我的AppContext.js文件中包含此代码
getattr(item, dynamicField)
我正在从控制台成功调用getEntries函数及其显示消息,但是this.setState无法正常工作,它显示TypeError:this.setState不是函数
答案 0 :(得分:0)
这里的问题是this
未绑定到正确的上下文。
最简单的解决方法可能是使用以下语法:
getEntries = () => {
...
}
React中有几种方法可以将this
绑定到类上下文:check this article用于其他方式。
答案 1 :(得分:0)
getEntries函数需要绑定到组件。简单的方法是使用箭头功能,如下所示。
getEntries = () => {
console.log('FIRED');
this.setState({test: 'HELLO'});
}
将getEnteries方法绑定到组件的第二种方法是
constructor(props) {
super(props);
// This binding is necessary to make `this` work in the callback
this.getEntries = this.getEntries.bind(this);
}