映射 Immutable.js 条记录

Mapping over Immutable.js Records

当你有记录时,你如何最好地应用地图等功能?

这是迄今为止我得到的最好的:

const FooRecord = Record({a: 0, b: 0})
const someRecord = FooRecord({a: 1, b: 2})
const someSeq = someRecord.toSeq().map(x => x + 1)
const someRecordUpdated = FooRecord(someSeq)

记录缺少一些集合 api 功能,例如 withMutations,所以我想您的方法非常好。我猜你问是因为它看起来很奇怪,所以也许你更喜欢这个:

您可以使用 mergeWith,它让您定义一个合并函数,只需传入与第二个集合相同的记录:

const someRecordUpdated = someRecord.mergeWith(
    (originalVal, passedInVal) => originalVal + 1, someRecord);