Załóżmy, że mam następujące rekordy zdefiniowana Immutable.js:parsowania zagnieżdżone Records w Immutable.js
var Address = Immutable.Record({street: '', city: '', zip: ''});
var User = Immutable.Record({name: '', address: new Address()});
Jak przekonwertować obiekt zwykły javascript w rekordzie użytkownika? Próbowałem następujących ale nie wywołuje oczekiwany wynik:
var user = new User({name: 'Foo', address: {street: 'Bar', city: 'Baz'}});
// => Record { "name": "Foo", "address": [object Object] }
Mam świadomość, że możliwe jest jawnie utworzyć rekord Adres:
var user = new User({name: 'Foo', address: new Address({street: 'Bar', city: 'Baz'})});
// => Record { "name": "Foo", "address": Record { "street": "Bar", "city": "Baz", "zip": "" } }
ale to nie jest rozwiązanie szukam . Wyobraź sobie, że masz Rekordy zagnieżdżone na kilku poziomach i chcesz przechowywać/pobierać dane jako JSON (np. W bazie danych). Chciałbym użyć faktycznej struktury rekordów użytkownika jako informacji o schemacie do odtworzenia zagnieżdżonych rekordów. Czy istnieje lepszy sposób na reprezentowanie zagnieżdżonych i uporządkowanych niezmiennych danych?
Możesz sprawdzić argument 'reviver' w' Immutable.fromJs', zobacz http://stackoverflow.com/questions/28639878/how-to-create-a-map-of-records-from-a-javascript- raw-object-with-immutable-js – OlliM
Aby wyjaśnić pytanie, powinieneś powiedzieć, że chcesz "nowy użytkownik ({imię:" Foo ", adres: {ulica:" Bar ", miasto:" Baz "}}). adres addressof Adres' jest prawdziwy. – Andy