/ / Redukčný reduktor neaktualizuje úložisko Redux immeable.js - rea-natívne, ecmascript-6, redux, rea-redux, immeable.js

Redux reduktor neaktualizuje súbor immutable.js Redux - reakcia nativná, ecmascript-6, redux, reak-redux, immutable.js

Zdá sa, že nemôžem zmeniť záznam nezmeniteľného súboru.js, ktorý je reduxovým úložiskom pre moju aplikáciu.

let makeVepo: RecordFactory<any> = Record({
product: new makeProduct(),
menu: new makeMenu(),
formControls: new makeFormControls(),
some: 10
})

export const vepo = new makeVepo()

vepo.set("some", 200)

vepo.some sa neaktualizuje na 200, zostáva 10

Môj redux obchod sa neaktualizuje z redukcie.

Malo by to fungovať. Keď sem vložím bod prerušenia:

tu zadajte popis obrázku

Tu som manipuláciu stav v konzole, a to nie je pretrvávajú:

tu zadajte popis obrázku

odpovede:

3 pre odpoveď č. 1

Pokúšate sa mutovať nemeniteľný objekt. Keď tak urobíte vepo.set("some", 200), nemení sa vepo, vráti nový objekt s hodnotou, ktorú ste priradili.

Môžete to vyskúšať:

const { Record } = require("immutable");

const makeVepo = Record({
product: "function",
menu: "function",
formControls: "function",
some: 10
})

const vepo = new makeVepo()

const newObject = vepo.set("some", 200)
console.log(vepo.toJS()) // `some` is still 10
console.log(newObject.toJS()) // `some` is 200

Vyskúšajte to npm runkit alebo vo vašom miestnom prostredí. Nový objekt obsahuje aktualizovanú hodnotu.

Poznámka: Upravil som kód tak, aby mohol bežať izolovane.