美文网首页
Redux-sage中间件

Redux-sage中间件

作者: 泡杯感冒灵 | 来源:发表于2022-03-27 17:09 被阅读0次
Redux-sage中间件功能同Redux-thunk类似,用来管理异步请求和比较复杂的逻辑。
使用步骤
  1. 安装 npm install redux-saga or yarn add redux-saga
  2. 创建store的时候,配置redux-saga
import { createStore, applyMiddleware  } from "redux";
import createSagaMiddleware from "redux-saga";

import reducer from "./reducer";
import TodoSagas from './sagas';

// 1. create the saga middleware
const sagaMiddleware = createSagaMiddleware()
// 2. mount it on the Store
const store = createStore(
    reducer,
    applyMiddleware(sagaMiddleware)
)

// 3. then run the saga
sagaMiddleware.run(TodoSagas);

export default store;
  1. 创建store的时候,还要把创建的sagas.js引入。sagas.js内容如下
import { takeEvery,put } from 'redux-saga/effects';
import {GET_INIT_LIST} from './actionTypes';
import {initListAction} from './actionCreators';
import axios from 'axios';

// 这个方法也是一个generator 函数,它会先取数据,取到数据后,根据数据再创建一个action,派发给store,store再给reducer
function* getInitList(){
    // 等待ajax请求完成,并把结果赋值给res
    const res = yield axios.get('/list.json');
    // 拿到数据后,创建一个action
    const action  = initListAction(res.data);
    // 通过put方法,把action派发给store,store再给reducer
    yield put(action);
}

// 此时 mySaga 是一个generator 函数,sagas.js导出的就是一个generator 函数
// mySaga函数也可以接收action
function* mySaga() {
    // 一旦捕获GET_INIT_LIST这个类型的action的时候,就调用getInitList这个方法
    yield takeEvery(GET_INIT_LIST, getInitList);
}
  
export default mySaga;

相关文章

  • Redux-sage中间件

    Redux-sage中间件功能同Redux-thunk类似,用来管理异步请求和比较复杂的逻辑。 使用步骤 安装 n...

  • Redux-saga官方文档知识点记录基础部分

    整理和总结官方文档的中文翻译版上面对于Redux-sage的介绍文档地址:http://leonshi.com/r...

  • 翻译

    Laravel 的路由中间件 简介 创建中间件 注册中间件全局中间件为路由指定中间件中间件组 中间件参数 Term...

  • 中间件学习——具体分类

    中间件分为远程过程调用中间件、数据访问中间件、消息中间件、事务(交易)处理中间件、分布式对象中间件。 远程过程调用...

  • nodejs19-express中间件

    中间件 匹配路由之前和之后做的操作 应用级中间件 路由级中间件 错误处理中间件 内置中间件 第三方中间件 应用级中...

  • 2021-04-26 redux-sage

    react中,同步和异步请求分开来,居然没统一到一个插件里 异步请求中,单独到store中注册, 然后监听触发,再...

  • 4.3KOA 中间件模块化与中间件合成

    中间件模块化与中间件合成 一、中间件模块化 定义中间件模块 使用中间件模块 二、使用 koa-compose 模块...

  • 4.2KOA 中间件执行流程

    中间件执行流程 代码执行流程 中间件 1 开始执行中间件 2 开始执行执行内容中间件 2 结束执行中间件 1 结束...

  • 13.中间件和上下文处理器

    中间件 中间件的引入image.png django中的中间件django 中的中间件(middleware),在...

  • Express学习

    使用中间件 Express 应用可使用如下几种中间件:* 应用级中间件* 路由级中间件* 错误处理中间...

网友评论

      本文标题:Redux-sage中间件

      本文链接:https://www.haomeiwen.com/subject/bcbadrtx.html