Mapowanie na rekordach Immutable.js.
Sep 17 2020
Jak najlepiej zastosować funkcje, takie jak mapa, gdy masz rekord?
To najlepsze, co do tej pory mam:
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)
Odpowiedzi
dube Sep 24 2020 at 15:08
Rekordy nie mają niektórych funkcji API kolekcji withMutations, więc myślę, że twoje podejście jest w porządku. Chyba pytałeś, bo wygląda dziwnie, więc może wolisz ten:
Możesz użyć mergeWith, co pozwoli ci zdefiniować funkcję scalającą, po prostu przekazać ten sam rekord, co druga kolekcja:
const someRecordUpdated = someRecord.mergeWith(
(originalVal, passedInVal) => originalVal + 1, someRecord);