MobX:对于此用例,是@computed还是@observable?还是组合?

时间:2019-02-18 09:01:20

标签: mobx

我有一个可观察的“集合”,用于计算可用的“指标”。用户从下拉菜单中选择“ activeIndicator”:

export default class ExplorerState {

   @observable collection = "indicator-collection-1"

   indicators = asyncComputed( ... )
   //fetches based on collection, returns ["indicator-a", "indicator-b", "indicator-c", "indicator-d"];

   @observable activeIndicator = "indicator-b"
}

但是现在我想添加两个条件:

A)当用户更改“集合”时,我希望activeIndicator重置为“未定义”,或者选择集合中的第一个可用指示器。在某种程度上,它现在就像@computed一样,除非被用户覆盖...?

B)我还想允许setState()(例如,从URL参数加载状态)。在这种情况下,我想确保类似的行为=如果状态包含“集合”和“ activeIndicator”,则用户应看到此指示器。如果状态仅包含“集合”,则应在检索“指标”之后派生指标。

我该如何实现?

0 个答案:

没有答案