React / Redux中有两种动作?

时间:2017-06-26 18:17:07

标签: reactjs redux react-redux

我在Redux中看到以下两种操作方式:

来自the documentation

export function createFoo(foo) {
  return {
    type: ActionTypes.CREATE_AUTHOR,,
    foo
  }
}

...以及其他教程(PluralSight):

export function createFoo(foo) {
  var newFoo = FooApi.saveFoo(foo);

  Dispatcher.dispatch({
    actionType: ActionTypes.CREATE_FOO,
    foo: newFoo
  });
}

后者似乎有更多的责任,创建一个作者实例并调度一个事件。

为什么方法有差异?这两个独立的习惯用语(可能需要中间件来执行调度吗?)。

1 个答案:

答案 0 :(得分:2)

第二个例子似乎来自最初的Flux实现,而不是Redux。 Redux没有单独的“调度程序”,并要求操作具有type字段。

您可能有兴趣阅读我的博客文章The Tao of Redux, Part 1 - Implementation and Intent,其中详细介绍了Redux所需的实际技术限制及其原因,以及其创建背后的历史和原始意图。