我正在使用一个具有特定对象结构的库,它看起来像这样:
const libraryTemplateData = [
{
eventContainerStyle: {
style: {
opacity: 1,
},
},
title: {
content: "Title Item #1",
},
description: {
content: "Description Item #2",
},
time: {
content: "Time Item #2",
style: { opacity: 1 },
},
icon: {
style: {
opacity: 1,
},
},
},
{
title: {
content: "Title Item #2",
},
description: {
content: "Description Item #2",
},
time: {
content: "Time Item #2",
},
},
{
title: {
content: "Title Item #3",
},
description: {
content: "Description #3",
},
time: {
content: "Time Item #3",
},
},
等等…
我也有一个数据,我从API调用接收(不能在DB级别重组它以匹配libraryTemplateData
):
{
"data": [
{
"ID": "59732379",
"TIME": "16:00",
"TITLE": "Item Title #1",
"DESCRIPTION": "Description Item #1"
},
{
"ID": "59732361",
"TIME": "18:00",
"TITLE": "Title Item #2",
"DESCRIPTION": "Description Item #2"
}
],
"result": 0,
"resultdescription": "OK"
}
等等…
如何将data
映射到libraryTemplateData
中的对象类型?我还需要更改data[0]中的属性,正如您在libraryTemplateData[0]
中看到的那样。必须设置不透明度以达到"亮起来"的效果。的效果。data[0]
之后的元素默认为opacity:0
。
你可以使用一个简单的map
来实现它:
const libraryTemplateData = data.map((item, index) => ({
eventContainerStyle: {
style: {
opacity: index === 0 ? 1 : 0,
},
},
title: {
content: item.TITLE,
},
description: {
content: item.DESCRIPTION,
},
time: {
content: item.TIME,
style: {
opacity: index === 0 ? 1 : 0,
},
},
icon: {
style: {
opacity: index === 0 ? 1 : 0,
},
},
}));