【发布时间】:2015-02-23 22:01:14
【问题描述】:
我是 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 现在是一张包含其他地图的地图,每张图片一个地图。
我想创建一个包含记录的地图,例如使用定义为的Image 记录:
var ImageRecord = Immutable.Record({ id: undefined, urls: undefined })
我怎样才能将imagesMap 用作ImageRecords 的映射?我可以将复活者传递给fromJS,还是应该采用“旧”方法?
// old approach
var imagesMap = Immutable.Map()
for (key in images) {
imagesMap.set(key, new ImageRecord(images[key]))
}
【问题讨论】:
标签: javascript immutability immutable.js reviver-function