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

redux-saga

一.目标定位 redux-saga is a library that aims to make side effects (i.e. asynchronous things like data fetching...作为一个Redux中间件,想让Redux应用中的副作用(即依赖/影响外部环境的不纯的部分)处理起来更优雅 二.设计理念 Saga像个独立线程一样,专门负责处理副作用,多个Saga可以串行/并行组合起来,redux-saga...所以添一层描述对象来解决这个问题,测试case中可以简单比较描述对象,实际起作用的Promise由redux-saga内部生成 这样做的好处是单测中不用mock异步方法(一般单测中会把所有异步方法替换掉...区别是Flux用action描述消息(发生了什么),而redux-saga用Effect描述操作指令(要做什么) Effect creator redux-saga/effects提供了很多用来生成Effect...常用的Effect creator如下: 阻塞型方法调用:call/apply 详见Declarative Effects 非阻塞型方法调用:fork/spawn 详见redux-saga’s fork

1.8K41
您找到你想要的搜索结果了吗?
是的
没有找到

一文梭穿Vuex、Flux、Redux、Redux-saga、Dva、MobX

redux-saga 把异步获取数据这类的操作都叫做副作用(Side Effect),它的目标就是把这些副作用管理好,让他们执行更高效,测试更简单,在处理故障时更容易。...在聊 redux-saga 之前,需要熟悉一些预备知识,那就是 ES6 的 Generator。...对比 Redux-thunk 比较一下 redux-thunk 和 redux-saga 的代码: 和 redux-thunk 等其他异步中间件对比来说,redux-saga 主要有下面几个特点:...其实 redux-saga 是用一些学习的复杂度,换来了代码的高可维护性,还是很值得在项目中使用的。 Dva Dva是什么呢?...简单理解,就是让使用 react-redux 和 redux-saga 编写的代码组织起来更合理,维护起来更方便。

5.4K10

React saga_react获取子组件ref

redux-saga简介 Redux-saga是Redux的一个中间件,主要集中处理react架构中的异步处理工作,被定义为generator(ES6)的形式,采用监听的形式进行工作。...redux-saga安装 使用npm进行安装: npm install --save redux-saga 或者使用yarn: yarn add redux-saga redux-saga常用方法解释...redux-thunk处理副作用的缺点 redux-saga写一个hellosaga redux-saga的使用技术细节 redux-saga实现一个登陆和列表样例 ---- 1.redux-thunk...3.redux-saga的使用技术细节 redux-saga除了上述的action统一、可以集中处理异步操作等优点外,redux-saga中使用声明式的Effect以及提供了更加细腻的控制流。...首先,在redux-saga中提供了一系列的api,比如take、put、all、select等API ,在redux-saga中将这一系列的api都定义为Effect。

4.5K30

React之redux学习日志(reduxreact-reduxredux-saga)

Redux-Saga中间件 redux-saga中文文档地址:https://redux-saga-in-chinese.js.org/docs/basics/DeclarativeEffects.html...当我们需要执行一些异步操作时,由于action中只能返回一个对象,从而需要借助一些中间件来达到目的,redux-thunk 和 redux-saga是常见的两种中间件。   .../sagas"; import createSagaMiddleware from "redux-saga"; // 创建 redux-saga 中间件 const sagaMiddleware =...redux-saga中有很多 声明 effects 函数(比如:call、put、takeEvery、all、fock等等),具体请查阅redux-saga文档。...备注:redux-saga函数必须是一个Generator函数 拓展:还可以通过以下代码来将saga进行模块化: import { all, fork } from 'redux-saga/effects

52730

使用dva脚手架中使用redux-sage感受

最近在使用了redux进行项目的开发,这个东西确实是把逻辑和页面的展示区分开了,在代码的书写上,以及以后的更改代码,提供了更多的方便. dva对redux-saga封装了一层,目前我使用的情况来看还是比较方便的...在使用redux-saga进行项目管理里,建议,使用者前,能够充分了解state的不足之处,我能理解react中state的不足之处便是:在项目足够大的时候,每个组件之间的相互调用参数,传递参数,给我带来了很多的不便...,比如一个下拉select的数据,在A组件中使用需要使用,在B组件中也是需要使用的,可是如果没有用redux-saga的话,那么我们就要在A组件中调用一次,B组件中调用一次,又或者是在A,B组件中都需要用到同一个接口...,我们只需要调用redux-saga的this.props.dispatch.把方法写到一个js文件中,然后在redux-saga中的action中调用,在dva里改成了effect,带*的函数了....在使用redux-saga中难免会有异步数据同步不来的时候,我一般会把数据的展示和调用放到了render中,前提是componentDidMount 中调用了但是没有数据的展示,实在迫不得已才放到了render

1.1K40

React技术栈实现XXX点评App-Demo

github.com/Nealyang/React-Fullstack-Dianping-Demo 技术栈:react、react-router4.x 、 react-redux 、 webpack3.x、 redux-saga...项目中用的redux-saga也是前天才学习的。项目的架构也是最近在各种探讨研究。...还求大神多指点~ 项目技术总结 react技术栈项目结构探究 redux-saga初体验 关于项目中webpack的配置说明 此处连接将会在后续消息中推送,兄弟们点击原文链接进行查看 项目简单说明...项目还有许多需要完善的地方,redux-saga的使用方式、项目结构、包括webpack3.x配合react的代码优化以及react的Universal渲染甚至后端Node的代码编写。...欢迎各路大神前来指教~ 项目实现 react热更新 css-module使用 react-redux异步处理 react-router 浏览器传参、获取 redux-saga辅助 上拉加载更多

57920

每日两题 T35

redux-saga redux-saga 是一个用于管理应用程序 Side Effect(副作用,例如异步获取数据,访问浏览器缓存等)的 library,它的目标是让副作用管理更容易,执行更高效,测试更简单...redux-saga 是一个 redux 中间件,意味着这个线程可以通过正常的 redux action 从主应用程序启动,暂停和取消,它能访问完整的 redux state,也可以 dispatch...redux-saga 使用了 ES6 的 Generator 功能,让异步的流程更易于读取,写入和测试。...redux-saga与其他redux中间件比较 •redux-thunk 的缺点在于api层与store耦合,优点是可以获取到各个异步操作时期状态的值,比较灵活,易于控制 •redux-promise的优点是...api层与store解耦,缺点是对请求失败,请求中的情形没有很好的处理 •redux-saga 的优点是api层与store解耦,对请求中,请求失败都有完善的处理,缺点是代码量较大 References

75230
领券