我有一个返回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
。我该如何访问它?
答案 0 :(得分:2)
正如对该问题的评论中所提到的,您在静态方法中使用this
,根据定义,该方法与实例无关(因此,this
不会指向组件实例)
你可以:
static
OR,将props / component实例作为参数传递给方法。
static getInfo(ID,props){...}
Component.getInfo(ID, this.props) //In your component where this.props is available