Zweck:
Entsprechend der gefundenen Unterkategorie die übergeordnete Kategorie ermitteln und in diese einfügen.
Verwendung:
Deduplizieren Sie das übergeordnete Kategoriefeld in der Unterkategorie und fügen Sie es in par_arr ein, durchlaufen Sie dann par_arr, um die übergeordnete Kategorie zu erhalten, und fügen Sie dann das Ergebnis in den Satz der Unterkategorie ein.
Problem: Die Ergebnisse von
console.log(res); enthalten die übergeordnete Kategorie, aber die Komponente wird nicht neu gerendert.
Im Internet soll Deep Copy Object.assign() verwendet werden. Ich habe
res.data.push(item.data);
in
Object.assign(res.data,item);
geändert, ohne Erfolg .
export function fetch(){
bardata = request('/api/categories').then(res=>{
//将父分类去重,放入par_arr
var par_obj={};
var par_arr=[];
res.data.map(d=>{
let _par=d.parent;
if(!par_obj[_par] && _par!=0){
par_obj[_par]=1;
par_arr.push(d.parent);
}
});
//根据par_arr获取父分类数据
Promise.all(par_arr.map(id=>getOne(id))).then(res1=>{
res1.map(item=>{
res.data.push(item.data);
})
});
console.log(res);
return res;
})
return bardata;
}
Ich habe n Methoden geändert, Baidu n Mal überprüft und stecke seit einer Woche mit diesem Problem fest
Bitten Sie um Rat. .
这都能困然一个礼拜??
提供一下思路,react的更新要么是this.setState触发,要么是redux dispatch事件触发
深拷贝用
...
展开符,展开就行了Object.assign印象中不是深拷贝吧