我有以下商店结构:
"entity": {
"byId": {
"id0001": {
"name": "first"
},
"id0002": {
"name": "second"
}
}
"allIds": ["id0001", "id0002"]
我有2个相关的缩减器(entityById
和entityAllIds
)。当我创建一个新实体时,我会调度CREATE_ENTITY
两个reducers捕获的动作。使用entityById
生成器模块在UUID
reducer中设置对象的ID。
问题是我在第一个减速器中设置了ID,但是我也需要在第二个减速器中按下它。
我该怎么办?我是否在reducer之外生成ID(在发送之前在click或容器中的组件中?)或者我将两个reducers加入到一个?
我使用了单独的reducer,因为我想保持干净,我只需要allIds
减少器用于ADD和DELETE操作。
我找到了第三个解决方案:在动作创建器中生成ID,就像在
中一样