回来的状态.订阅返回指针



我正在构建一个redux应用程序。在我的状态下,我有以下内容:

{
name:string,
address:{...}
}

订阅状态时,两者都得到了。问题是,当我在组件上修改地址属性时它在store上也会改变。经过一番研究,我发现这是因为address是一个对象,它返回的是指针,而不是副本。

我的问题是我怎样才能订阅商店而不害怕聚集商店?

做对象。在订阅函数中赋值可以完成这个工作,但是感觉有点奇怪。

this.addressModel = Object.assign({},state.information.address);

非常感谢。

几点思考:

    首先,如果你使用React,你通常不需要"手动"订阅商店。React-Redux包提供的connect函数生成包装器组件,为您处理订阅过程。第二,是的,你的reducer逻辑应该总是不可变地更新数据。这意味着确保每一个嵌套级别都被复制。

Redux FAQ讨论了与React组件不重新渲染相关的不变性。Redux文档中关于Structuring Reducers的部分包含了一些文章的链接,这些文章教授不可变数据管理,以及如何正确地不可变地更新数据。在React/Redux链接列表中,我还提供了其他几篇关于不可变数据概念的文章的链接。

最新更新