gpt4 book ai didi

javascript - Angular ngrx : TypeError: Cannot freeze array buffer views with elements

转载 作者:行者123 更新时间:2023-12-05 07:06:10 29 4
gpt4 key购买 nike

我遇到了 ngrx 问题。我在我的状态下有一个数组,我想在其中附加对象。这实际上工作正常,如果我 console.log 他们我可以在我的商店中看到这些值。但是 redux 开发工具和控制台抛出错误“TypeError: Cannot freeze array buffer views with elements”。

我有一个看起来像这样的状态:

const state: State = {
array: []
};

我传递给我的操作的对象看起来与此类似:

const obj = {attr: number, data: ImageData};

其中 ImageData 来自 Canvas 并使用 canvas.getContext("2d").getImageData(...); 提取;。应该注意的是,这个对象很大,有超过 69000 个键,值从 0 到 255(RGBA)。

然后我像这样将新对象附加到状态/存储:

createReducer(
initialState,
on(action, (state: State, action)=> {
return {
...state,
array: [...state.array, action.payload]
}
})
);

此外,我读到我应该在将对象传递给操作之前对对象进行 deepCopy,所以我使用 lodashs copyDeep() 做到了这一点,但我得到了相同的结果。

感谢任何帮助。

最佳答案

你的 reducer 中需要 state.array。

return {
...state,
array: [...state.array, action.payload]
}

关于javascript - Angular ngrx : TypeError: Cannot freeze array buffer views with elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62586297/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com