У меня проблема с ngrx. У меня есть массив в моем состоянии, к которому я хочу добавить объекты. Это действительно отлично работает, если я console.log их, я вижу эти значения в моем магазине. Но инструменты redux dev и консоль выдают ошибку TypeError: Невозможно заморозить представления буфера массива с элементами.
У меня состояние выглядит так:
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]
}
})
);
Кроме того, я прочитал, что я должен глубоко копировать объекты, прежде чем передавать их в действие, поэтому я сделал это с lodashs copyDeep()
, но получил те же результаты.
Любая помощь приветствуется.