在组件方法中无法访问this.state值

时间:2018-06-12 22:58:38

标签: reactjs

我正在使用ReactJS并尝试在构造函数中为baseUrl设置一个值,如下所示:

constructor() {
        super();
        this.state = { baseUrl: '' }

        //get the api base url
        fetch('/AppSettings/GetSettings')
            .then(response => response.json())
            .then(data => {
                this.state =({ baseUrl: JSON.stringify(data) });
            });
    }

但是下面的方法在同一个类/组件中没有该值:

 getAll(): Promise<StandardCostItem[]> {
        return fetch(this.baseUrl + '/StandardCostItem')
        .then(response => response.json() as Promise<StandardCostItem[]>)
        .then(standardCostItems => Array.from(standardCostItems, c => new StandardCostItem(c)));
}

请告知价值未通过的原因?

祝你好运, Mostafa的

1 个答案:

答案 0 :(得分:1)

使用React重新设置this.state值无法正常工作。状态只能在构造函数中设置一次。要更新状态,应使用this.setState