Я пытаюсь установить значение неизменяемого объекта, используя .set()
. Значение обновляется по мере необходимости, но я не могу извлечь из объекта, используя .getIn()
. Я думаю, это происходит потому, что он не является глубоким, чтобы дети объекта были неизменными. Есть ли какой-либо метод в immutable.js, который позволит мне это сделать? Я знаю, что могу обернуть объект в fromJS()
, как .set(fromJS('rooms', roomMap))
, но это кажется грязным. Каков правильный способ сделать это?ImmutableJS глубокая установка объекта
const state = Immutable.fromJS({
rooms: false
});
const roomMap =
{
"roomid1": {
"id": "roomid1",
"name": "Room 101",
},
"roomid2": {
"id": "roomid2",
"name": "Room 102",
},
};
var newState = state.set('rooms', roomMap);
console.log(newState.getIn(['rooms', 'roomid1']));;
https://jsfiddle.net/z0a4p199/1/
Вот что 'функция fromJS' для хотя. Либо вы создаете каждую вложенную коллекцию, используя их соответствующие функции «Карта» или «Список», но это кажется необоснованным. – stinodes