Обновление вложенного состояния в редуксе без библиотеки - PullRequest
0 голосов
/ 13 мая 2018

Допустим, у меня следующее состояние.

let state = {
        DirectoryMap :{
            root :{
                name : "root",
                nested : null
            },
                    ........
                        ........
        },
        currentDirectoryNode : null,
        currentDirectory : 'root'
    }

Я хочу обновить следующее:

  • Вложенное значение внутри root object.
  • Добавить новый объект внутри объекта DirectoryMap .

Рекомендуется уплощение структуры, но в этой ситуации я не могу сделать это больше из-за некоторого компромисса.

Я хочу разными способами выполнить вышеуказанную операцию, не изменяя первоначальное состояние.Также я не хочу использовать какую-либо библиотеку, такую ​​как immutable.js и т. Д. Функции Vanilla JS или ES6 / ES7 могут быть лучше.

1 Ответ

0 голосов
/ 13 мая 2018

Если вы используете jQuery, вы можете сделать что-то вроде этого,

let newState = jQuery.extend(true, {}, state);

Другой способ это

newState = JSON.parse(JSON.stringify(state));
...