У меня есть этот неудачный тест с использованием метода продукта immer.js:
it('should replace array reference in state', () => {
let state = {
someArray: [1],
};
const somArrayUpdate = [2, 3];
state = produce(state, draft => {
draft.someArray = somArrayUpdate;
});
console.log(state.someArray);
// update external array
somArrayUpdate.push(4);
// expect that the state array is not the same reference with the external array
console.log(state.someArray);
expect(state.someArray).not.toBe(somArrayUpdate);
});
Вы можете увидеть неудачный тест здесь:
https://stackblitz.com/edit/jasmine-gwrbgh
Iя пытаюсь понять, почему это не работает, а также как выполнить замену массива с помощью immer.js (в документации AFAIK нет соответствующих примеров).