Я ищу чистую функцию, чтобы изменить мой неизменный объект состояния. Исходное состояние, указанное как параметр, должно оставаться нетронутым. Это особенно полезно при работе с фреймами, такими как Redux и работает с immutable объект в javascript намного проще. Тем более что работа с оператором распространения объектов с использованием Babel уже возможна.
Я не нашел ничего лучше, чем первый экземпляр объекта, а не назначить/удалить свойство, которое я хочу:
function updateState(state, item) {
newState = {...state};
newState[item.id] = item;
return newState;
}
function deleteProperty(state, id) {
var newState = {...state};
delete newState[id];
return newState;
}
Мне кажется, что это может быть короче