我正在使用带有React的axios进行webservice get调用,然后使用以下代码设置状态:
handleRefreshOrgs(e) {
let curComponent = this;
axios.get("/api/org").then((res) => {
let result = JSON.parse(res.data[0]).result;
curComponent.setState({
scratchOrgs: result.scratchOrgs,
nonScratchOrgs: result.nonScratchOrgs
})
});
}
我现在尝试了多种方法来解决这个问题。但是,我尝试过的方法都没有奏效。我尝试使用箭头函数并使用bind()声明一个新变量。但它们都没有奏效。
我现在感到沮丧。我该如何解决这个问题?
答案 0 :(得分:1)
您的语法看起来正确。您需要将它绑定到类。这是你将它绑定到类的方法。这是build log posted to the Red Hat Bugzilla bug和代码:
public class Consolidate
{
public string ProductCode { get; set; }
public int po_order_no { get; set; }
public string po_backorder_flag { get; set; }
}
答案 1 :(得分:1)
您似乎没有将handleRefreshOrgs
绑定到this
class classname extends React.Component {
constructor(){
this.handleRefreshOrgs = this.handleRefreshOrgs.bind(this)
}
}
请参阅此文档:https://medium.freecodecamp.org/react-binding-patterns-5-approaches-for-handling-this-92c651b5af56