Chain redux store更新

问题描述 投票:0回答:1

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

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

enter image description here

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

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

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

在此示例中,我面对的是我认为是数据竞赛。第二个动作是从音符更新列表中选取一个音符。

挖掘互联网,我发现只有基于API调用且具有redux thunk的动作链接的情况。我遇到的问题是,我不知道在处理动作时如何触发某些操作(这在API调用中很明显)

因此,有3个解决方案:

  • 我缺少明显的东西
  • 我要去的地方以前没有人去过
  • 我正在做反模式

欢迎任何帮助。

reactjs redux react-redux redux-thunk
1个回答
0
投票

好,我找到了答案。

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

redux style guide中,有2个点将我引向解决方案。

  1. 强烈建议您发送已处理的一项操作通过几个减速器。
  2. 强烈建议将逻辑放在化简器中。

结果是我应该分派“原始数据”,然后计算价值减少者。按照这个路径,我不依赖于存储中已经存在的值来进行下一次更新,因此,我不会遇到任何数据争用。

© www.soinside.com 2019 - 2024. All rights reserved.