Redux reducer不会更新immutable.js Redux存储

时间:2018-04-22 19:16:37

标签: react-native ecmascript-6 redux react-redux immutable.js

我似乎无法修改immutable.js记录,这是我的应用程序的redux存储。

onActivityCreated

vepo.some不会更新到200,它会保持10

我的redux商店不会从减速机更新。

它应该工作。当我在这里设置断点时:

enter image description here

这里我在控制台中操纵状态,并且它不会持续存在:

enter image description here

1 个答案:

答案 0 :(得分:3)

您正在尝试改变不可变对象。执行vepo.set('some', 200)时,它不会修改vepo,它会返回一个具有您指定值的新对象。

你可以试试这个:

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

npm runkit或您当地的环境中尝试一下。新对象包含更新的值。

注意:我修改了代码,使其可以单独运行。