Как сохранить состояние неизменным, если состояние имеет тип Set? Как сделать копию javascript Set type? - PullRequest
0 голосов
/ 14 января 2019

Я запускаю свой redux редуктор следующим образом:

export default (state =  new Set( [5, 10, 15, 20], action)=>{
...

и сразу после этого я должен сделать клон состояния:

если состояние Array, я делаю

  let newState = [...state];

если состояние Object, я делаю

   let newState = {...state};

Вопрос в том, что мне делать, когда состояние типа Set? Есть ли простой способ сделать Set клон?

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Вы можете передать набор, который хотите продублировать, в конструктор нового набора. Как это:

let newSet = new Set(state)
0 голосов
/ 14 января 2019

Создайте новый набор из набора в состоянии:

const state =  new Set([5, 10, 15, 20]);
let newState = new Set(state);
// or: let newState = new Set([...state]);
console.log('state:', [...state]);
console.log('new state:', [...newState]);
state.add(11);
console.log('state:', [...state]);
console.log('new state:', [...newState]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...