连锁Redux商店更新

时间:2020-03-23 09:35:26

标签: reactjs redux react-redux redux-thunk

我想在化简器处理完第一个动作后调度一个动作。

这是我的用例。我的组件允许用户选择注释列表(此列表存储在redux中)。根据用户的某些操作,可以从此列表中选择随机笔记,并将其保存在商店中。

enter image description here

在屏幕截图中,您可以看到按钮。 “全选”和“全选”作用于可能的音符列表。 “开始”从列表中选择一个笔记。

我关心的问题是“重置按钮”。它应该链接“全选”和“开始”,我不知道该怎么做。我尝试过天真:

const reset = function () {
  dispatch(selectAll());
  dispatch(pickANote());
}

在这个例子中,我面临着我认为是一场数据竞赛。第二个动作是从便笺更新列表中选择一个便笺。

在浏览互联网时,我发现仅基于基于redux thunk的API调用进行动作链接的情况。我的问题是我不知道在处理动作时如何触发某些操作(对于API调用很明显)

因此,有3种解决方案:

  • 我缺少明显的东西
  • 我要去的地方没有人
  • 我正在做一些反模式的事情

欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案。

不足为奇,我在考虑反模式。

redux style guide中,有2个点使我想到了解决方案。

  1. 强烈建议分派一个已处理的动作 通过几个减速器。
  2. 强烈建议将逻辑放入化简器中。

结果是我应该分派“原始数据”,然后计算价值减少者。遵循此路径,下一次更新时我将不依赖于存储中已有的值,因此,我不会遇到任何数据争用。