Immutable.jsレコードのマッピング
Sep 17 2020
レコードがある場合、マップなどの機能をどのように適用するのが最適ですか?
これは私がこれまでに得た最高のものです:
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)
回答
dube Sep 24 2020 at 15:08
レコードにはwithMutations、のようなコレクションAPI関数の一部が欠けているので、あなたのアプローチは完全に問題ないと思います。私はあなたがそれが奇妙に見えるのであなたが尋ねたと思うので、多分あなたはこれを好むでしょう:
を使用してmergeWith、マージ関数を定義できます。これは、2番目のコレクションと同じレコードを渡すだけです。
const someRecordUpdated = someRecord.mergeWith(
(originalVal, passedInVal) => originalVal + 1, someRecord);