JSFiddle - React, Tailwind, and code Playground
by cdeutsch
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/immutable/2.6.1/immutable.js"></script>
JavaScript
var state = {
users: [{name:'bill'},{name:'lisa'}],
filters: {
sortDir: 'desc',
sortName: 'lastSeen'
},
count: 12
};
im1 = Immutable.fromJS(state);
im2 = Immutable.Map(state);
im3 = im1.updateIn(['filters','sortDir'], val => val = 'GONE');
im4 = im3.updateIn(['filters','sortDir'], val => val = 'desc');
im5 = im4.withMutations(map => {
map.set('count', 13);
map.set('users', Immutable.fromJS([{name:'dan'},{name:'shannon'}]));
});
//state.filters.sortDir = 'CHANGED';
console.log(im1.toJS());
console.log(im2.get('filters'));
console.log(im3.toJS());
console.log(im4.toJS());
console.log(im5.toJS());
console.log(im1 === im2);
console.log(im1 === im3);
console.log(im3 === im4);
console.log(im1 === im4);
console.log(Immutable.is(im1, im4));
console.log(Immutable.is(im1, im3));