JSFiddle - React, Tailwind, and code Playground
by antouank
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.6.2/immutable.js"></script>
JavaScript
var ROOT = Immutable.Map({});
var oldRoot;
var print = function(){
console.log('ROOT === oldRoot', ROOT === oldRoot);
console.info('oldRoot', oldRoot.toJS());
console.info('ROOT', ROOT.toJS(), '\n');
};
var something;
//--------------------------------
something = 'bar';
oldRoot = ROOT;
ROOT = ROOT.set('events', something);
print();
//--------------------------------
oldRoot = ROOT;
ROOT = ROOT.set('events', something);
print();
// expect oldRoot === ROOT to be true, it is :)
//--------------------------------
something = Immutable.fromJS({
id: 0,
text: 'foo'
});
oldRoot = ROOT;
ROOT = ROOT.set('events', something);
print();
//--------------------------------
something = Immutable.fromJS({
id: 0,
text: 'foo'
});
oldRoot = ROOT;
ROOT = ROOT.set('events', something);
print();
// expect oldRoot === ROOT to be true, it isn't o.O
debugger;
console.log(Immutable.is(ROOT, oldRoot)); // WTF?