【发布时间】:2021-12-04 00:57:06
【问题描述】:
如何获取 imageKeys 数组中的每个字符串值并使用它在嵌套对象 imageList 中的 images 数组中构造一个 url,而不改变对象?
const myInitialStateFromParent = {
imageKeys: ['name1', 'name2'],
itemType: "something",
itemName: "something else",
ImageList:{
images: [],
height: 100,
width: 100,
maxImages: 2
}
}
对于 imageKeys 中的每个键,我想在空图像数组中添加一个新对象。 例如:
{url: baseUrl + '/' + 'name1'},
{url: baseUrl + '/' + 'name2'}
我想让整个对象中的其他所有内容保持不变。这是在 React 子函数组件中,useEffect(() => {}, [imageKeys])。
我试过类似的东西,
for (const k of myInitialStateFromParent.imageKeys) {
var img = {url: `baseUrl${k}`}
[...myInitialStateFromParent.ImageList.images, img] // copy the images, insert new one
}
但我收到一个错误,即仅使用最后一个形式参数进行传播。
【问题讨论】:
-
您没有将扩展数组分配给任何东西,因此它被视为解构分配。添加一个作业,你的代码就可以工作了。
myInitialStateFromParent.ImageList.images = [...myInitialStateFromParent.ImageList.images, img];
标签: javascript reactjs ecmascript-6