Я не знаю, предназначено ли это или ошибка.
Я произношу массив и затем обновляю его свойство, но исходный массив все еще получает изменения. Но неизменные пользователи не должны быть изменены правильно? Впервые столкнулся с такой проблемой с оператором спреда.
const immutableUsers = [{ user: "james", item: [] }, { user: "rick", item: [] }];
const spreadUsers = [...immutableUsers];
const user = spreadUsers[0];
user.item.push(1);
// user.item.splice(0,0,1);
console.log(spreadUsers);
console.log(immutableUsers);
// expected [{ user: "james", item: [] }, { user: "rick", item: [] }]
// actual [{ user: "james", item: [1] }, { user: "rick", item: [] }]
Codesandbox