何时、为何以及如何在 redux 中使用 Action Creators?

Vla*_*tko 1 ios swift redux

我正在使用 redux 的 ReSwift 实现编写一个应用程序。我想知道何时使用动作创建器以及为什么?

阅读完教程后,我就像创作者一样,只在检查内部状态后才创建动作。例如,我有一个按钮,用户按下它后,如果我处于状态 A,我想启动一些进程。所以,我必须编写一个操作创建器,它将检查当前状态,然后返回正确的操作,或者不返回操作根本不。然后从同一个地方发送这个动作。

我对吗?我真的很感激任何例子。

第二个问题-我必须在哪里实施它?

mar*_*son 5

我在我的博客文章Idiomatic Redux:为什么使用 Action Creators?。回顾要点:

  1. 基本抽象:不要在需要创建相同类型操作的每个组件中编写操作类型字符串,而是将创建该操作的逻辑放在一个地方。
  2. 文档:函数的参数充当执行操作所需数据的指南。
  3. 简洁和干燥:可能有一些更大的逻辑用于准备操作对象,而不是立即返回它。
  4. 封装和一致性:一致地使用动作创建者意味着组件不必知道创建和分派动作的任何细节,以及它是简单的“返回动作对象”函数还是具有大量异步调用的复杂 thunk 函数。它只是调用this.props.someBoundActionCreator(arg1, arg2),并让动作创建者担心如何处理事情。
  5. 可测试性和灵活性:如果组件只调用作为 prop 传入的函数而不是显式引用调度,那么为传入该函数的模拟版本的组件编写测试就变得很容易。它还允许在其他情况下重用该组件,甚至可以与 Redux 以外的其他东西重用。