首页 > 解决方案 > 用redux sgas直接调用生成器方法可以吗

问题描述

目前我有一个拦截特定动作的根传奇。我的组件通过 actioncreator 调度动作......但是我需要这些动作创建者吗?我可以直接从组件中调用其中一个生成器函数吗?

我才刚刚开始使用 sagas,不确定是否还应该使用动作创建器。

标签: reactjsgeneratorredux-saga

解决方案


不,你不应该直接从你的应用程序组件中调用任何 sagas。sagas 的全部意义在于,它们将副作用管理抽象为与应用程序的其余部分分离的独立层。这意味着您的应用程序甚至不知道某处某处正在侦听某些操作。

您的组件在其工作流程中生成一些操作,但它们永远不知道这些操作是否会触发任何其他操作。如果它发生是因为 saga 产生了新的动作——那么这就是副作用。通过将副作用与其他逻辑分开,您可以实现高级别的抽象和虱子耦合。

所以再一次,你永远不想自己调用 sagas 函数。


推荐阅读