更新 Map Immutable.js 中的嵌套对象
Update a nested objects in Map Immutable.js
所以我在使用 Immutable.js 更新减速器时遇到了问题。
所以假设我的减速器中有一个初始状态:
Immutable.Map(action.someData)
其中 someData
是 JSON,我从服务器收到:
someData: {
contactInfo: {phoneNumber: 123-1253}
address: 101 e street
family: {
husband: "Bob"
wife: "Sally"
}
}
如果我想更新 family.husband
,我将如何继续进行?
因为 someData
只是一个普通对象,这是否不允许我使用 setIn
方法?
查看 Immutable
文档,我认为正确的方法是在所有级别上创建不可变结构,即:
Immutable.fromJS(action.someData)
那么你就可以使用setIn
.
如果您将内部对象保持为普通 javascript 对象,它们仍然是可变的。
所以我在使用 Immutable.js 更新减速器时遇到了问题。
所以假设我的减速器中有一个初始状态:
Immutable.Map(action.someData)
其中 someData
是 JSON,我从服务器收到:
someData: {
contactInfo: {phoneNumber: 123-1253}
address: 101 e street
family: {
husband: "Bob"
wife: "Sally"
}
}
如果我想更新 family.husband
,我将如何继续进行?
因为 someData
只是一个普通对象,这是否不允许我使用 setIn
方法?
查看 Immutable
文档,我认为正确的方法是在所有级别上创建不可变结构,即:
Immutable.fromJS(action.someData)
那么你就可以使用setIn
.
如果您将内部对象保持为普通 javascript 对象,它们仍然是可变的。