reactjs中的setState在成功函数中未设置状态

reactjs中的setState在成功函数中未设置状态,reactjs,parse-platform,Reactjs,Parse Platform,我使用ParsePlatform作为后端存储,reactjs作为前端。我可以使用parse.Query获取解析数据,但无法使用返回的值,因为我不知道如何设置成功获取结果的状态。我在componentDidMount()中这样尝试过 从“React”导入React 从“Parse”导入解析 类ConferenceInfo扩展了React.Component{ 陈述={ someData:null } componentDidMount(){ this.getConferenceInfo() } g

我使用ParsePlatform作为后端存储,reactjs作为前端。我可以使用parse.Query获取解析数据,但无法使用返回的值,因为我不知道如何设置成功获取结果的状态。我在componentDidMount()中这样尝试过

从“React”导入React
从“Parse”导入解析
类ConferenceInfo扩展了React.Component{
陈述={
someData:null
}
componentDidMount(){
this.getConferenceInfo()
}
getConferenceInfo(){
var ConferenceListing=Parse.Object.extend(“ConferenceListing”);
var cl=newparse.Query(ConferenceList);
cl.get(“8glBIjeRrC”{
成功:功能(cl){
//已成功检索该对象。
警报(cl.get(“someData”)//它可以工作
//this.setState({someData:cl.get(“someData”)})不工作
},
错误:函数(对象,错误){
//未能成功检索该对象。
//错误是一个解析。错误包含错误代码和消息。
}
});
}
render(){
返回(
{this.state.someData}//无结果
)
}
}
导出默认会议信息

这是因为
不在同一范围内。您正在
success
属性、函数回调中调用它

要使其工作,我们需要绑定此

首先创建构造函数方法

constructor(props) {
  super(props);
  // Our new bind method ref
  this.change = this.change.bind(this);
}
然后添加新方法
change

change(obj) {
  this.setState(obj);
}
最后,您的
成功
回调

success: function(cl) {
  // ...
  this.change({ someData: cl.get("someData") })           
},

这是一个绑定问题,请这样写:
success:(cl)=>{this.setState({….})
应该可以用。谢谢你的评论,我不知道,但这也不行。@user109640很高兴我能帮你。别忘了移动你的
this.state={}
内部构造函数。构造函数中的状态不是必需的,使用babel的最新插件,即使没有constructor@loelsonk是的,我已经申报了州。再次谢谢你。Shubham谢谢你too@loelsonk对我来说,在函数回调成功后,并没有调用change(obj)方法
success: function(cl) {
  // ...
  this.change({ someData: cl.get("someData") })           
},