javascript - react嵌套循环获取数据时,组件不更新
女神的闺蜜爱上我
女神的闺蜜爱上我 2017-06-12 09:24:20
0
1
682

目的:
根据查到的子分类,将其父分类也查出来,放入其中。

使用方法:
将子分类中的父分类字段去重后放入par_arr,然后遍历par_arr去取父分类,再将结果插入子分类的集合中。

问题:
console.log(res);的结果中包含了父分类,但组件未重新渲染。

网上说用深拷贝 Object.assign(),我把
res.data.push(item.data);
改为
Object.assign(res.data,item);
也没用。

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;
}

改了n种方法,查了n遍百度,被这个问题困了一礼拜了

请教。。

女神的闺蜜爱上我
女神的闺蜜爱上我

全部回复(1)
给我你的怀抱

这都能困然一个礼拜??

提供一下思路,react的更新要么是this.setState触发,要么是redux dispatch事件触发

深拷贝用...展开符,展开就行了Object.assign印象中不是深拷贝吧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板