0
我試圖使用React製作一個簡單的評論系統。我將這些評論保存在Parse中。問題是,當我從Parse中檢索評論時,我需要更新組件的狀態,但是當我嘗試這樣做時,出現錯誤"Uncaught ReferenceError: this.setState is not defined"
。從不同的範圍訪問「this」
不工作密碼
loadComments() {
let Comment = Parse.Object.extend("Comment");
let query = new Parse.Query(Comment);
query.limit(15).find({
success: function(result) {
let data = [];
for (var i = 0; i < result.length; i++) {
var object = result[i];
data.push(object.toJSON());
}
this.setState({ data: data });
}
});
}
如果我改變我的代碼它的工作原理,但我認爲應該有這更好的辦法。
工作代碼
loadComments() {
let Comment = Parse.Object.extend("Comment");
let query = new Parse.Query(Comment);
let _this = this;
query.limit(15).find({
success: function(result) {
let data = [];
for (var i = 0; i < result.length; i++) {
var object = result[i];
data.push(object.toJSON());
}
_this.setState({ data: data });
}
});
}
您的工作版本是解決此問題的常規方式。見http://stackoverflow.com/questions/24539521/javascript-owner-of-this/24539572#24539572 – Barmar