Представьте себе ситуацию, когда у Джона есть две девочки Алиса и Боб, а у Боба есть кошка Орион.
var Immutable = require('immutable');
var parent = Immutable.Map({name: 'John'});
var childrens = Immutable.List([
Immutable.Map({name: 'Alice', parent: parent}),
Immutable.Map({name: 'Bob', parent: parent})
]);
var cat = Immutable.Map({name: 'Orion', owner: childrens.get(1)});
Через несколько лет Джон хочет переименовать Джейн.
var renamedParent = parent.set('name', 'Jane');
... и пусть дети знают об этом.
childrens = childrens.map(function(children) {
children.set('parent', renamedParent);
});
Затем мне нужно обновить кошку, потому что Боб изменился.
cat = cat.set('owner', childrens.get(1));
Возможно ли автоматическое обновление всех связанных объектов при изменении одного объекта? Я смотрел на курсоры, но я не уверен, что они являются решением. Если возможно, можете ли вы привести мне пример?