Прежде всего, скопируйте внутренний список:
const list = { ...state.regions.list };
, затем замените значение:
list[newValue] = list[oldValue];
delete list[oldValue];
Затем обновите состояние:
return {
...state,
regions: {
...state.regions,
list
}
};
Выполнитьнеизменяемые операции над вложенными объектами. Я предпочитаю использовать библиотеку, например, icepick , что сделает операцию более читабельной (цепочка getIn
, unsetIn
и setIn
).