ReactJs:获取无法读取属性' setState'未定义的错误

时间:2018-02-15 06:44:20

标签: javascript reactjs

我正在使用带有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()声明一个新变量。但它们都没有奏效。

我现在感到沮丧。我该如何解决这个问题?

2 个答案:

答案 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