react 嵌套渲染_react 深度 循环嵌套对象渲染问题 map

本文介绍了在React中如何处理深度循环嵌套的对象渲染问题,特别是在面对异步获取的后台数据时。通过示例代码展示了使用for循环转换数据结构以适应React的map方法进行渲染的过程,同时表达了对更优解决方案的期待。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查了一些资料貌似react的循环渲染对象只有map,但map只支持数组对象。

接到后台数据如下

{

"list": {

"A": [{

"image": "http:///b1.jpg",

"name": "奥迪",

"id": "1"

}],

"B": [{

"image": "http:///b1.jpg",

"name": "奔驰",

"id": "1"

}]

}

}

需要循环拿到A、B再循环拿到  A、B里边的数据

异步拿到数据后处理如下:

getbrandInfoFun = async type => {

try {

let result = await API.getbrandInfo({

id: 'wechat'

});

let carListArr = [];

for (let item in result.list) {//async、await中不支持map foreach 所以只能for方法

let reobj = {};

reobj[item] = result.list[item];

carListArr.push(reobj);

}

this.setState({

brandInfoList: carListArr,/* 正面状态 */

});

} catch (err) {

}

}

render处理如下:

<div className="carbrand_listbox">

{

this.state.brandInfoList.map((value, index) => {

let carListArr=[];

let carListkey=[];

for (let item in value) {

carListkey=item

carListArr=value[item];

}

return (

<div key={index}>

<div className="weui-cells__title" >{carListkey}</div>

{

carListArr.map((item, numberN) => (

<div key={numberN} className="weui-cell" data-carbrandid="" ><div className="weui-cell__hd"><img className="lazy" src={item.image} /></div><div className="weui-cell__bd"><p >{item.name}}</p></div>

</div>

))

}

</div>

)

})

}

</div>

实现效果:

感觉不好用但只想到这种方法了,希望以后有更好的方法;

来源:https://blog.csdn.net/qq_16591861/article/details/86527336

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值