ReactJS - 在promise中访问this.props

时间:2018-04-10 09:05:36

标签: javascript reactjs promise

我有一个返回promise的静态方法:

static getInfo(ID)
 { return new Promise((resolve, reject) => {   
    api.getList(ID)
      .then((List) => {
        resolve(Info);
      })
      .catch((error) => {
        // here I need to access this.props which is undefined
        console.log(this.props);

      });
     .catch(reject);
   });
 }

this.props在承诺范围内undefined。我该如何访问它?

1 个答案:

答案 0 :(得分:2)

正如对该问题的评论中所提到的,您在静态方法中使用this,根据定义,该方法与实例无关(因此,this不会指向组件实例)

你可以:

  1. 删除static
  2. ,使其成为实例方法
  3. OR,将props / component实例作为参数传递给方法。

    static getInfo(ID,props){...}

    Component.getInfo(ID, this.props) //In your component where this.props is available