私は immutable.js が初めてで、生の JS オブジェクトからレコードを使用する方法をよりよく理解したいと思っています。
Immutable.fromJS()生のオブジェクトを渡すマップを作成できます。次に例を示します。
var images = {
"1": {
id: "1",
urls: ["/medium/1.jpg", "/large/1.jpg"]
},
"2": {
id: "2",
urls: ["/medium/1.jpg", "/large/1.jpg"]
}
}
var imagesMap = Immutable.fromJS(images);
imagesMapは、画像ごとに 1 つずつ、他のマップを含むマップになりました。
Image代わりに、次のように定義されたレコードを使用して、レコードを含むマップを作成したいと思います。
var ImageRecord = Immutable.Record({ id: undefined, urls: undefined })
どうすればsのimagesMapマップとして持つことができImageRecordますか? にリバイバーを渡してできることはありますかfromJS、それとも「古い」アプローチを使用する必要がありますか?
// old approach
var imagesMap = Immutable.Map()
for (key in images) {
imagesMap.set(key, new ImageRecord(images[key]))
}