【发布时间】:2018-07-19 09:15:48
【问题描述】:
我遇到了reactjs 的问题。
我想将另一个属性 (productGroups) 添加到现有状态 (this.state.mainProductGroups - 输入 object array)。
所以我想在数组中找出对应的条目并将新属性添加到其中。
这是我的功能:
getProductGroups(mainProductGroupId) {
$.ajax({
type: "POST",
context:this,
dataType: "json",
async: true,
url: "ajax.php",
data: ({
requestType: 'getProductGroups',
countryID: this.state.countryObject.countryNo,
languageID: Language[this.state.currentLanguage].languageNo,
mainProductGroupID: mainProductGroupId,
}),
success: function (data) {
let mainProductGroups = this.state.mainProductGroups;
let mainPGFound = false;
let mainPG = mainProductGroups.filter(mainProductGroup => mainProductGroup.id == mainProductGroupId);
mainPG.productGroups = data.productGroups;
this.setState({
mainProductGroups: mainProductGroups,
});
}
});
}
这是this.state.mainProductGroups的数据示例:
现在的问题是,productsGroup 属性没有被填充。 ajax 请求返回正确的值(也输入object array)。为什么不更新?有没有问题,因为属性productGroups 的初始值为string,现在我想用object array 类型覆盖它?
难道我做错了什么?我是不是想错了?
感谢您的帮助!
【问题讨论】: