【发布时间】:2016-12-15 00:15:23
【问题描述】:
我将 ReactJs 与 Redux 一起使用,在一些教程和代码中,我看到人们建议并使用 normalizr 来保持状态平稳。但是保持它平坦的真正优势是什么?如果我不这样做,我会遇到任何问题吗?有必要吗?
【问题讨论】:
标签: reactjs redux flux normalizr
我将 ReactJs 与 Redux 一起使用,在一些教程和代码中,我看到人们建议并使用 normalizr 来保持状态平稳。但是保持它平坦的真正优势是什么?如果我不这样做,我会遇到任何问题吗?有必要吗?
【问题讨论】:
标签: reactjs redux flux normalizr
三个主要原因:
【讨论】:
我假设通过保持平坦,你的意思是在你的状态对象中没有嵌套。
不建议在您的状态中进行嵌套,因为您必须根据某些事件不断更改您的状态。
如果您查看 redux 文档,他们希望您拥有纯 reducer。使你的函数成为纯函数的一部分是不修改它的参数。
当您有很多嵌套时,很难在不无意中修改状态对象的情况下更改状态,因为所有 JS 对象都是通过引用传递的。当您有大量嵌套时,您必须在修改状态对象之前对其进行深层复制。
【讨论】: