我在Redux上使用ReactJs,在一些教程和代码上,我看到人们建议并使用normalizr保持状态平坦。但是,保持平坦的真正优势是什么?如果没有,我会遇到任何问题吗?有必要吗 ?

最佳答案

三个主要原因:


不变地更新嵌套的Javascript对象通常会导致难以维护的丑陋代码,除非您使用实用程序库来打包过程
不变地更新嵌套数据要求您返回嵌套层次结构中所有项目的新副本。由于组件通常会对数据进行浅等式参考比较以查看是否需要更新,因此更新嵌套数据通常意味着要更新更多的对象,即使实际数据没有不同,也可能必须重新渲染更多的组件。
平面数据,尤其是规范化数据,可以使用一些更优化的方法来定义组件(例如,一个列表,其中每个列表项组件本身都是连接的,给定一个项目ID作为道具,并负责通过以下方式查找其自身的数据)该ID)

07-26 07:59