首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Redux-saga - yield is not calling my sagas in root saga

Redux-saga是一个用于管理应用程序副作用(例如异步请求和状态更新)的库。它是基于Generator函数的,通过使用yield关键字来控制异步流程。

在Redux-saga中,root saga是一个特殊的saga,它负责启动其他sagas。当应用程序启动时,root saga会被调用,并且它会通过yield关键字调用其他sagas。

如果在root saga中使用yield关键字调用其他sagas时,这些sagas没有被调用,可能有以下几个原因:

  1. 忘记在root saga中使用yield关键字:在调用其他sagas时,需要使用yield关键字来确保它们被正确调用。如果忘记使用yield关键字,sagas将不会被执行。
  2. 未正确导入其他sagas:在root saga中,需要正确导入其他sagas才能调用它们。确保正确导入并引用其他sagas。
  3. 其他sagas中存在错误:如果其他sagas中存在错误,可能会导致它们无法被正确调用。检查其他sagas中的代码,确保没有错误。

以下是一个示例,展示了如何在root saga中正确调用其他sagas:

代码语言:txt
复制
import { all } from 'redux-saga/effects';
import { saga1 } from './saga1';
import { saga2 } from './saga2';

function* rootSaga() {
  yield all([
    saga1(),
    saga2(),
  ]);
}

export default rootSaga;

在上面的示例中,root saga通过使用yield关键字调用了saga1和saga2。

对于Redux-saga的更多信息和使用方法,可以参考腾讯云的相关产品文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

redux-saga学习

redux-saga redux-saga是一个用于管理redux应用异步操作的中间件,redux-saga通过创建sagas将所有异步操作逻辑收集在一个地方集中处理,可以用来代替redux-thunk...sagas监听发起的action,然后决定基于这个action来做什么 (比如:是发起一个异步请求,还是发起其他的action到store,还是调用其他的sagas 等 ) 在redux-saga的世界里...,所有的任务都通过用 yield Effects 来完成 ( effect可以看作是redux-saga的任务单元 ) redux-saga启动的任务可以在任何时候通过手动来取消,也可以把任务和其他的Effects.../sagas 模块中的 Saga。然后使用 redux-saga 模块的 createSagaMiddleware 工厂函数来创建一个 Saga middleware。...put,takeEvery,all } from "redux-saga/effects"; function* helloSaga(){ console.log('hello Sagas');

2.7K10
  • 前端实现异步的几种方式_redux是什么

    3.什么是redux-sagaredux-saga是一个Redux中间件,用来帮你管理程序的副作用。或者更直接一点,主要是用来处理异步action。...这就是redux-saga中最为重要的一个概念:Effect。 实际上,我们可以直接通过yield fetchUser()执行我们的异步任务,并返回一个Promise。...因此,相比于直接调用异步函数,我们可以仅仅 yield 一条描述函数调用的指令,由redux-saga中间件负责解释执行该指令,并在获得结果响应时恢复Generator的执行。...借用网上的一张神图来更直观地理解上面这些API的作用: 另外,如果你想要同时监听不同的action,可以使用all()或者race()把他们组合成一个root saga: export default...", barASaga) ]) } 最后,你需要在createStore()时注册redux-saga中间件,然后调用run()函数启动你的root saga就大功告成了: import { createStore

    1.7K30

    Taro 小程序开发大型实战(六):尝鲜微信小程序云(上篇)

    敬请期待哦✌️~ 实战 Redux 异步工作流 安装 我们使用 redux-saga 这个中间件来接管 Redux 异步工作流的处理异步请求部分,首先在项目根目录下安装 redux-saga 包: $..."redux-saga": "^1.1.3", "taro-ui": "^2.2.4" }, } redux-saga 是 redux 的一个处理异步流程的中间件,那么 Saga 是什么?...View 中发起异步请求 配置使用 redux-saga 中间件,并将 sagas 跑起来之后,我们可以开始在 React 中 dispatch 异步的 action 了。...在我们的应用中可能涉及到多个异步请求,所以 redux-saga 推荐的最佳实践是单独创建一个 sagas 文件夹,来存放所有处理异步请求的 sagas 文件,以及可能用到的辅助文件。...在 src/sagas 文件夹下创建 index.js 文件,并在其中编写如下的内容: import { fork, all } from 'redux-saga/effects' import

    2.3K20

    【Web技术】639- Web前端单元测试到底要怎么写?

    设计模式与结构分析 在这个场景设计开发中,我们严格遵守 redux 单向数据流 与 react-redux 的最佳实践,并采用 redux-saga 来处理业务流, reselect 来处理状态缓存,通过...下面来讲下稍微有点复杂的地方,sagas 部分。 sagas 这里我用了 redux-saga 处理业务流,这里具体也就是异步调用 api 请求数据,处理成功结果和错误结果等。...这里有必要大概介绍下 redux-saga 的工作方式。...saga 是一种 es6 的生成器函数 - Generator ,我们利用他来产生各种声明式的 effects ,由 redux-saga 引擎来消化处理,推动业务进行。...从上面的注释 3、4 可以看到, redux-saga 还提供了一些辅助函数来方便的处理分支断点。 这也是我选择 redux-saga 的原因:强大并且利于测试。

    3.1K30

    前端react面试题(必备)2

    redux异步流中间件其实有很多,当下主流的异步中间件有两种redux-thunk、redux-saga。...中间件redux-saga优点:异步解耦: 异步操作被被转移到单独 saga.js 中,不再是掺杂在 action.js 或 component.js 中action摆脱thunk function:.../请求失败 都可以直接通过 try/catch 语法直接捕获处理功能强⼤: redux-saga提供了⼤量的Saga 辅助函数和Effect 创建器供开发者使⽤,开发者⽆须封装或者简单封装即可使⽤灵活:...redux-saga可以将多个Saga可以串⾏/并⾏组合起来,形成⼀个⾮常实⽤的异步flow易测试,提供了各种case的测试⽅案,包括mock task,分⽀覆盖等等redux-saga缺陷:额外的学习成本...中import {takeEvery, put} from 'redux-saga/effects'import {initTodoList} from '.

    2.3K20

    美团前端react面试题汇总

    redux异步流中间件其实有很多,当下主流的异步中间件有两种redux-thunk、redux-saga。...中间件redux-saga优点:异步解耦: 异步操作被被转移到单独 saga.js 中,不再是掺杂在 action.js 或 component.js 中action摆脱thunk function:.../请求失败 都可以直接通过 try/catch 语法直接捕获处理功能强⼤: redux-saga提供了⼤量的Saga 辅助函数和Effect 创建器供开发者使⽤,开发者⽆须封装或者简单封装即可使⽤灵活:...redux-saga可以将多个Saga可以串⾏/并⾏组合起来,形成⼀个⾮常实⽤的异步flow易测试,提供了各种case的测试⽅案,包括mock task,分⽀覆盖等等redux-saga缺陷:额外的学习成本...中import {takeEvery, put} from 'redux-saga/effects'import {initTodoList} from '.

    5.1K30
    领券