Javascript 将集合中的数据分别存储在redux中

Javascript 将集合中的数据分别存储在redux中,javascript,reactjs,redux,redux-saga,Javascript,Reactjs,Redux,Redux Saga,我正在使用redux将一些数据存储到状态中,我面临一个问题 我调用的API正在返回一组数据。通过把它放进商店,我得到了这样的东西: Datas[0]: [{ name: foo, desc: bar }, { name: foo, desc: bar }, ] 如果我再打一次电话,我仍然会收到另一个收藏,在商店里看起来是这样的: Datas[0]: [{ name: foo, desc: bar }, { name: foo, desc: bar }

我正在使用
redux
将一些
数据
存储到状态中,我面临一个问题

我调用的
API
正在返回一组数据。通过把它放进商店,我得到了这样的东西:

Datas[0]: [{
  name: foo,
  desc: bar
 },
 {
  name: foo,
  desc: bar
 },
]
如果我再打一次电话,我仍然会收到另一个收藏,在商店里看起来是这样的:

Datas[0]: [{
  name: foo,
  desc: bar
 },
 {
  name: foo,
  desc: bar
 },
],
Datas[1]: [{
  name: foo,
  desc: baz
 },
 {
  name: foo,
  desc: baz
 },
]

我想要一个数据库。那么,是否可以为每次调用将每个数据(对象)放入一个新数组中?在这种情况下,我将能够很容易地映射所有数据

以下是我的传奇故事: 减速器:

我正在考虑通过映射集合的每个项来多次调用
API\u FETCH\u SUCCESS
,但这将是一场地狱


如果你们有什么想法,或者有没有可能

那么你想在商店里保存一个数组吗?像这样的东西:
Datas[0]:[{name:foo,desc:bar}],Datas[1]:[name:foo,desc:baz}],Datas[2]:[name:foo,desc:baz}]
,因为每个集合都是类似于
[{name:foo,desc:bar}]的对象数组,{name:'foo',desc:'bar'}]
最初您的状态是一个空数组,所以您可以这样做:
让newState=state.concat([{name:'foo',desc:'bar'},{name:'foo',desc:'bar'}.)。map(item=>[item]);
newState将包含一个您所需格式的新数组。因此,假设collection是从api
collection.map获取的数组(item=>[item]);
将返回一个数组。您只需将此数组与您的现有状态(实际上是一个数组)联系即可。