Ben*_*ins 5 ecmascript-6 immutable.js react-native redux react-redux
我似乎无法修改immutable.js记录,这是我的应用程序的redux存储.
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)
Run Code Online (Sandbox Code Playgroud)
vepo.some不会更新到200,它会保持10
我的redux商店不会从reducer更新.
它应该工作.当我在这里放一个断点时:
在这里,我在控制台中操纵状态,并且它不会持久化:
您正在尝试改变一个不可变的对象。当您这样做时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
Run Code Online (Sandbox Code Playgroud)
在npm runkit或您的本地环境中尝试一下。新对象包含更新后的值。
注意:我调整了代码,以便它可以单独运行。
| 归档时间: |
|
| 查看次数: |
366 次 |
| 最近记录: |