es2015箭头函数,fetch和this

时间:2017-01-06 16:43:54

标签: ecmascript-6 this arrow-functions

大家

我的类中的构造函数看起来像

 constructor() {
    super();
    const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
    this.state = {
      dataSource: ds.cloneWithRows([])
    };
    let url = Config.baseUrl + "/strains";
    let request = {
      headers: {
        "X-API-Key": Config.apiKey
      }
    };
    fetch(url, request)
      .then((response) => response.json())
      .then((responseData) => {
        if (responseData.data) {
          let strains = responseData.data.map((strain) => {
            return {
              name: strain.name,
              image: strain.image
            };
          });
          this.state = {
            dataSource: ds.cloneWithRows(strains)
          };
          console.dir(this.state);
        }
      });
  }

我无法工作的是在.fetch回调中的this.state赋值。 我是es2015的新手。阅读箭头功能,如果我理解正确,它应该可以正常工作。

1 个答案:

答案 0 :(得分:0)

谢谢大家。

this.setState做了这件事。