reactjs - 用redux sgas直接调用生成器方法可以吗
问题描述
目前我有一个拦截特定动作的根传奇。我的组件通过 actioncreator 调度动作......但是我需要这些动作创建者吗?我可以直接从组件中调用其中一个生成器函数吗?
我才刚刚开始使用 sagas,不确定是否还应该使用动作创建器。
解决方案
不,你不应该直接从你的应用程序组件中调用任何 sagas。sagas 的全部意义在于,它们将副作用管理抽象为与应用程序的其余部分分离的独立层。这意味着您的应用程序甚至不知道某处某处正在侦听某些操作。
您的组件在其工作流程中生成一些操作,但它们永远不知道这些操作是否会触发任何其他操作。如果它发生是因为 saga 产生了新的动作——那么这就是副作用。通过将副作用与其他逻辑分开,您可以实现高级别的抽象和虱子耦合。
所以再一次,你永远不想自己调用 sagas 函数。
推荐阅读
- hadoop - 如何解决 YARN 日志中的日志聚合未完成或未启用错误
- java - 如何通过使用 JPA + Hibernate 和 Spring-boot 在一个数据库中使用多个模式?
- node.js - 在mongodb中搜索多个条件
- arrays - DeepCopy在for循环内的numpy数组的值
- javascript - 使用数组作为参数调用 JavaScript 构造函数
- java - 为什么 CentOs 6 上的 Glassfish 3.1 不能服务于端口 80?
- javascript - JS 无法与 AngularJS ng-view 一起正常工作
- php - 如何刷新共享首选项中的值?
- xml - 将工作表中一行的每 5 个值转置到另一个工作表中的列
- javascript - 在 redux-form 状态下保持 react-select 组件的值和标签