我为什么要保持状态平坦 [英] Why should I keep the state flat

查看:113
本文介绍了我为什么要保持状态平坦的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm using ReactJs with Redux and on some tutorials and codes I see people suggesting and using normalizr to keep the state flat. But what is the real advantage in keeping it flat ? Will I encounter any problems if I don't ? Is it necessary ?

推荐答案

三个主要原因:

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

这篇关于我为什么要保持状态平坦的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆