Есть следующий state:
const state = {
desks: [
{
id: 1,
name: 'Что нужно сделать',
cards: [
{
id: 1,
name: 'Lol kek cheburek'
}
]
}
]
};
И reducer:
function deskReducer(state = [], action) {
switch(action.type) {
case 'ADD_CARD':
let desks = state.slice();
let currentDesk = desks.filter( (item) => item.id === action.id )[0];
currentDesk.cards.push({
id: currentDesk.cards.length + 1,
name: action.name
});
return desks;
default:
return state;
}
}
Насторожило что после push в reducer обновляется не только переменная desks, но и state тоже до возвращения state, код работает, но тем не менее я скопировал массив а изменения применились будто бы я этого и не делал вовсе, c чем это связанно и можно ли таким способом обновлять state?