这是代码(一个维克斯突变):
export const CREATE_PANORAMAS = (state, panoramas) => {
console.log('building.panoramas:', state.building.panoramas)
console.log('panoramas:', panoramas)
state.building.panoramas.concat(panoramas)
console.log('result:', state.building.panoramas)
} 这是相应日志的结果:
[] // building.panoramas
[{ name: "", objectId: "5849133aac502e006c581b58" }] // panoramas
[] // result为什么这两个数组没有连接?
发布于 2016-12-08 08:20:04
从文档 -- concat()方法用于合并两个或多个数组。此方法不更改现有数组,而是返回一个新数组。
使用concat的一种方法是执行以下操作
state.building.panoramas = state.building.panoramas.concat(panoramas)或者你可以简单的
[].push.apply(state.building.panoramas, panoramas);发布于 2016-12-08 08:29:04
问题是,您没有像@JaromandaX所指示的那样将连接的结果分配给state.building.panoramas数组。
还可以使用rest元素、扩展元素、析构赋值来连接两个或多个数组。
[...state.building.panoramas] = [...state.building.panoramas, ...panoramas];发布于 2016-12-08 08:13:42
我认为您需要首先将state.building.panoramas.concat(全景图)指定为某物,或者直接将其放在您的“结果”行上。
sampleArray.concat(moreValues)返回级联数组,它不会将“moreValues”连接到sampleArray本身。
https://stackoverflow.com/questions/41034619
复制相似问题