2014-12-04 36 views
7

Sto lavorando a un'applicazione di flusso e sto prendendo in considerazione l'adozione di immutable.js per mantenere lo stato. Ho visto che reagisce fornisce il proprio aiutante per l'aggiornamento di oggetti immutabili (http://facebook.github.io/react/docs/update.html), ma non è stato in grado di dire come fosse molto diverso dai propri metodi setIn e updateIn immutabili (cioè, posso già confrontare gli oggetti con === in se se cambiano con setIn). C'è un motivo per usare il reagire helper con immutable.js? È solo zucchero sintattico?Utilizzo dell'immutabile helper di React con Immutable.js

TL; DR è:

var map = Immutable.fromJS({bar: 'baz'}); 
map2 = React.addons.update(map, { 
     bar: {$set: 'foo'} 
    }); 

diverso da

var map = Immutable.fromJS({bar: 'baz'}); 
map2 = map.set('bar', 'foo'); 

risposta

8

React.addons.update non funziona con valori Immutable.js; it works with plain JavaScript objects and arrays.

var map = { bar: 'baz' }; 
var map2 = React.addons.update(map, { 
    bar: {$set: 'foo'} 
}); 
console.log(map2); // A plain JS object of value `{bar: 'foo'}` 

I tipi di Immutable.js sono implementati usando special dati structures per vantaggi di prestazioni e di spazio; i semplici oggetti JavaScript consumati e prodotti da React.addons.update, ovviamente, non lo sono.

Problemi correlati