2016-05-10 18 views

Antwort

1

ImmutableJS teilt Instanzen. In Ihrem Fall ist die Snapshot-Instanz für MapA und MapB freigegeben. Sie können dies überprüfen, indem Sie für diese Instanz benutzerdefinierte reine JS-Eigenschaften hinzufügen und diese sowohl für die MapA-Version als auch für die MapB-Version überprüfen. Sie werden feststellen, dass sie dieselben Werte haben.

Hier ist eine Geige für Sie ... https://jsfiddle.net/HaZardous/0Ls5gdht/.

Hier ist die Geige Code als Referenz -

var MapA = Immutable.fromJS({person: {name: 'Peter', age: 18}, parent: 'Sally'}), 
MapB = Immutable.fromJS({prop1: 'testing'}), 
person = MapA.get('person'); 

MapB = MapB.set('person', person); 

person["nationality"] = "US"; 

console.log("Direct ref: " + person["nationality"]); 
console.log("MapA ref: " + MapA.get('person')["nationality"]); 
console.log("MapB ref: " + MapB.get('person')["nationality"]); 

Ausgabe

Direct ref: US 
MapA ref: US 
MapB ref: US 
+1

Wirklich gutes Beispiel dank zu beweisen :) –

Verwandte Themen