在我的反應組件中,我試圖在完成發佈請求後調用函數emptyCart
。但是,當我從呼叫內部撥打the emptyCart
(表示爲SECOND CALL代碼)時,出現錯誤:TypeError: Cannot read property 'emptyCart' of undefined
。但是,如果從函數的開始處調用emptyCart
,則按預期工作。 Sidenote,我從來沒有在代碼中同時撥打emptyCart
。爲什麼我不能在回調中引用組件this
?無法引用內部回調中的反應組件
checkout = (order) => {
this.emptyCart(); //FIRST CALL
axios({
method: 'post',
url: '/api',
data: {
order:order,
},
})
.then(function(response) {
this.emptyCart(); //SECOND CALL
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}
你是一個回調函數內,這已不再是你的組件 – aw04
啊,不知道它的工作這樣。你有推薦的解決方法嗎? –
是的,我添加了一個答案 – aw04