更新 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 对象,它们仍然是可变的。