作为终极版提供store
保持所有的应用数据在一个地方,它是很好的做法,将数据保存在单一的大object
? 如果我们有数以千计的记录及其数据是大尺寸,将其对应用性能的影响?
Answer 1:
这是一个良好的开端终极版性能
对于一个作出反应的应用最大的渲染性能, 状态应该被存储在一个标准化的形状 ,许多单个组件应连接到存储,而不是只有几个,而连接列表中的组件应该通过项目ID他们连孩子列表项(允许列表项的ID查找自己的数据)。 这最大限度地减少渲染做的总量。 的memoized选择功能的使用也是一个重要的性能的考虑。
关于在国有大型对象终极版
一成不变更新状态通常意味着使浅副本,而不是深层副本。 浅拷贝比深层副本快得多,因为更少的对象和领域都被复制,并有效地归结为走动一些指针。
但是,你需要创建一个受影响的嵌套每级复制的和更新的对象。 虽然这不应该是特别贵,这是另一个很好的理由,为什么你应该让你的国家标准化和浅层如果可能的话。
正如@MatanHafuta提到的,这是非常重要的你的状态对象的样子。
您可以使用包像normalizr正常化具有深层嵌套的对象JSON数据。
Answer 2:
这其实并不重要,最终你持有相同的数据,只要确保组织在某种程度上,它会很容易和快速检索和操作数据,这不是数据的量,但您组织数据的方式有效的方式,还要考虑便于减速更新状态,逻辑划分是值得思考写代码之前。
文章来源: Is it a good idea to keep huge data object in a single store of Redux?