Supponiamo che io sono i seguenti record definita utilizzando Immutable.js:Parsing Records annidati in Immutable.js
var Address = Immutable.Record({street: '', city: '', zip: ''});
var User = Immutable.Record({name: '', address: new Address()});
Come posso convertire oggetto pianura javascript nel record utente? Ho provato quanto segue ma non produrre i risultati attesi:
var user = new User({name: 'Foo', address: {street: 'Bar', city: 'Baz'}});
// => Record { "name": "Foo", "address": [object Object] }
Sono consapevole che è possibile creare in modo esplicito il record Indirizzo:
var user = new User({name: 'Foo', address: new Address({street: 'Bar', city: 'Baz'})});
// => Record { "name": "Foo", "address": Record { "street": "Bar", "city": "Baz", "zip": "" } }
ma che non è la soluzione che sto cercando . Immagina di avere record nidificati a diversi livelli e desideri archiviare/recuperare i dati come JSON (ad esempio nel database). Vorrei utilizzare la struttura del record Utente reale come informazioni sullo schema per ricreare i record nidificati. O c'è un modo migliore per rappresentare i dati immutabili nidificati e strutturati?
È possibile controllare l'argomento 'reviver' in' Immutable.fromJs', consultare http://stackoverflow.com/questions/28639878/how-to-create-a-map-of-records-from-a-javascript- raw-object-with-immutable-js – OlliM
Per rendere la domanda più chiara, è necessario specificare che si desidera 'nuovo utente ({nome: 'Foo', indirizzo: {via: 'Bar', città: 'Baz'}}). indirizzo instanceof Address' per essere vero. – Andy