首页
学习
活动
专区
圈层
工具
发布

redux-saga

作为一个Redux中间件,想让Redux应用中的副作用(即依赖/影响外部环境的不纯的部分)处理起来更优雅 二.设计理念 Saga像个独立线程一样,专门负责处理副作用,多个Saga可以串行/并行组合起来,...区别是Flux用action描述消息(发生了什么),而redux-saga用Effect描述操作指令(要做什么) Effect creator redux-saga/effects提供了很多用来生成Effect...术语Saga指的是一系列操作的集合,是个运行时的抽象概念 redux-saga里的Saga形式上是generator,用来描述一组操作,而generator是个具体的静态概念 P.S.redux-saga...里所说的Saga大多数情况下指的都是generator形式的一组操作,而不是指redux-saga自身。...简单理解的话:在redux-saga里,Saga就是generator,Sagas就是多个generator Sagas有2种顺序组合方式: yield* saga() call(saga) 同样,直接

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

    React-Redux-Saga实现原理

    前言React-Redux-Saga是一个用于处理Redux异步操作的中间件,它的实现原理基于生成器函数(Generator Functions)和事件监听模式。...本文的主题为 saga 的实现原理,那么与其说 sage 的实现原理,不如说在 saga 中如何通过 yield 获取异步返回的结果,在 React-Saga 中如何通过 yield 获取到数据之前,我还是建议去把博主在...好了,废话不多了,首先来看几个示例,对应的这几个案例分别说明了几个注意点,然后我们在实现 saga 中通过 yield 获取异步数据的底层实现代码,第一个示例如,定义了一个生成器函数, 这个函数保存了...然后调用定义的函数获取异步数据,然后在通过拿到的可迭代对象调用 next 方法将获取到的方法,传递给上一次 yield 进行变量赋值,然后我们在自定义生成器函数的 yield 当中就获取到异步数据了从而实现了 saga

    47550

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

    在聊 redux-saga 之前,需要熟悉一些预备知识,那就是 ES6 的 Generator。...对比 Redux-thunk 比较一下 redux-thunk 和 redux-saga 的代码: 和 redux-thunk 等其他异步中间件对比来说,redux-saga 主要有下面几个特点:...简单理解,就是让使用 react-redux 和 redux-saga 编写的代码组织起来更合理,维护起来更方便。...之前我们聊了 redux、react-redux、redux-saga 之类的概念,大家肯定觉得头昏脑涨的,什么 action、reducer、saga 之类的,写一个功能要在这些js文件里面不停的切换...比如传统的 TODO 应用,用 redux + redux-saga 来表示结构,就是这样: saga 拦截 add 这个 action, 发起 http 请求, 如果请求成功, 则继续向 reducer

    6.1K10

    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

    95330

    Nextjs任意组件数据加载

    Nextjs Nextjs是React生态中非常受欢迎的SSR(server side render——服务端渲染)框架,只需要几个步骤就可以搭建一个支持SSR的工程(_Nextjs_的快速搭建见Next.js...Nextjs中SSR渲染的局限性 getInitialProps()方法虽然强大好用,但是现在还存在一个问题——只能在“内页”中使用。Nextjs_规定了所有放置到....)也会有菜单异步加载并且实现SSR的需要,这个时候需要在_Nextjs_框架的基础上扩展。...所以有理由为_Nextjs_的./pages之外的组件实现ssr数据异步加载。...组件ssr异步数据实现 为了实现本文的需求——让所有组件实现类似于getInitialProps()的方法,我们先要理清_Nextjs_前后端渲染的过程。 渲染过程 _Nextjs_为使用者提供了.

    5.8K20
    领券