当商店A中可用类别列表时,请选择一个类别并在商店B中设置其ID

  • 本文关键字:一个 设置 ID 列表 请选择 react-alt
  • 更新时间 :
  • 英文 :


我有两个商店 - 组店和itemsFilterStore。项目FilterStore的状态应包含组中可用组的单个组的选择,但是:

  • 这些组最初在组店中不可用,因此最初无法做出项目filterstore的选择(构造函数将其初始化为null)。

  • 一旦组在组中可用,我需要执行一个操作,该操作将选择一个组(根据某些逻辑)并在项目FilterStore中设置其ID。

问题:

i读到处触发商店中的动作操作者的动作是一个对立的。

那么我该如何正确设计?

好吧,我想出了两种处理此情况的方法。为了清楚起见,假设您有一个操作getGroups,将请求启动到源。当请求成功时,它将启动GroupsStore操作的操作resultsRecieved

1)您可以在商店中收听resultsRecieved操作,并处理结果以更新ItemsFilterStore。但是,在这种情况下,您可能需要将组选择逻辑从GroupsStore提出到某个实用程序文件中,如果可能的话,可以在两个商店中导入和使用。

2)您可以在两家商店中收听getGroups动作。在该操作的ItemsFilterStore处理程序中,您可以使用Alt的Wait-For方法,该方法表明该商店依赖另一家商店以获取其数据,并且应该等待其更新。因此,ItemsFilterStore中的GetGroups处理程序可能最终看起来像这样:

getGroups() {
    this.waitFor(GroupsStore);
    var groups = GroupsStore.getState().groups;
}

我不完全确定等待与异步源请求有多好,因为我只使用它来等待同步操作。

相关内容

最新更新