问题:何时、为什么以及如何在 redux 中使用 Action Creator?

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

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

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

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

解答

我在我的博文Idiomatic Redux:为什么使用 Action Creators 中介绍了这个主题?。回顾关键点:

  1. 基本抽象:与其在每个需要创建相同类型动作的组件中编写动作类型字符串,不如将创建该动作的逻辑放在一个地方。

  2. 文档:函数的参数作为进入操作所需数据的指南。

  3. Brevity and DRY:准备动作对象可能有一些更大的逻辑,而不是立即返回它。

  4. 封装和一致性:一致地使用动作创建者意味着组件不必知道创建和分发动作的任何细节,无论是简单的“返回动作对象”函数还是复杂的带有大量异步调用的 thunk 函数。它只是调用this.props.someBoundActionCreator(arg1, arg2),让动作创建者担心如何处理事情。

  5. 可测试性和灵活性:如果组件只调用作为 prop 传入的函数,而不是显式引用 dispatch,则可以很容易地为组件编写传递模拟版本的函数的测试。它还可以在其他情况下重用组件,甚至可以在 Redux 以外的地方重用组件。

Logo

React社区为您提供最前沿的新闻资讯和知识内容

更多推荐