Flux:了解ReduceStore中的状态

时间:2016-05-13 20:33:24

标签: javascript state store flux

我正在尝试创建一个简单的计数器应用程序来了解有关Flux架构的更多信息,但它还没有真正点击过。其中一部分与ReduceStore的实施有关。

在Flux文档中,给出了一个包含此reduce函数的简单示例:

reduce(state: number, action: Object): number {
  switch (action.type) {
    case 'increment':
      return state + 1;

    case 'square':
      return state * state;

    default:
      return state;
  }
}

该功能记录如下:

  

reduce(state:T,action:Object):T 减少当前状态,并将操作减少到此商店的新状态。所有子类都必须实现此方法。这种方法应该是纯净的,没有副作用。

换句话说:reduce函数不会改变状态,而是返回on操作的结果(在示例中是加法或乘法)。

虽然我已经理解了一般概念,但我想知道如何实际使用这样的商店。如果我正确地说,商店应该保持某种状态(Flux文档提到视频的播放时间作为例子)。但是ReduceStore没有实现任何状态,它必须作为参数传递给reducer。这意味着实际状态需要存储在我的应用程序的其他位置 - 可能是在呈现计数器的组件(计数器应用程序的状态)中,这对我来说似乎是错误的。

这个假设是正确的,这在Flux架构中是好的还是我遗漏了关于ReduceStore的东西 - 可能是一个不同的用例或什么?

0 个答案:

没有答案