所以我在使用Immutable.js更新reducer时遇到了麻烦。
所以假设我的reducer中有一个初始状态:
Immutable.Map(action.someData)
其中someData
是JSON,我是从服务器收到的:
someData: {
contactInfo: {phoneNumber: 123-1253}
address: 101 e street
family: {
husband: "Bob"
wife: "Sally"
}
}
如果我想更新family.husband
,我将如何继续更新?
因为someData
只是一个常规对象,这是否允许我使用setIn
方法?
答案 0 :(得分:2)
查看Immutable
文档,我认为正确的方法是在所有级别创建不可变结构,即:
Immutable.fromJS(action.someData)
然后您就可以使用setIn
。
如果将内部对象保留为普通的javascript对象,它们仍然是可变的。