我想在化简器处理完第一个动作后分派一个动作。
这是我的用例。我的组件允许用户选择注释列表(此列表存储在redux中)。根据一些用户的操作,可以从此列表中选择一个随机注释并将其保存在商店中。
在屏幕截图中,您可以看到按钮。 “全选”和“全选”作用于可能的音符列表。 “开始”从列表中选择一个注释。
我关注的问题是“重置按钮”。它应该链接“全选”和“开始”,我不知道该怎么做。我尝试过一个天真:
const reset = function () {
dispatch(selectAll());
dispatch(pickANote());
}
在此示例中,我面对的是我认为是数据竞赛。第二个动作是从音符更新列表中选取一个音符。
挖掘互联网,我发现只有基于API调用且具有redux thunk的动作链接的情况。我遇到的问题是,我不知道在处理动作时如何触发某些操作(这在API调用中很明显)
因此,有3个解决方案:
欢迎任何帮助。
好,我找到了答案。
不足为奇,我在考虑反模式。
在redux style guide中,有2个点将我引向解决方案。
结果是我应该分派“原始数据”,然后计算价值减少者。按照这个路径,我不依赖于存储中已经存在的值来进行下一次更新,因此,我不会遇到任何数据争用。