redux & dispatch & payload

react & react-redux & redux-saga


// contrast
dispatch({
type: "pointCheckDetail/getContrastData",
payload: {
id,
},
});
// status
dispatch({
type: "pointCheckDetail/getPointCheckResults",
payload: {},
});
// table
dispatch({
type: "pointCheckDetail/getPointCheckDetails",
payload: {
id,
contrasts,
},
});

effects: {
*initData({ payload }, { put }) {
yield put({
type: "save",
payload: {
...initialState,
...payload,
}
});
},
*getBasicData({ payload }, { put, call }) {
yield put({
type: "showLoading",
});
const {
id,
} = payload;
const res = yield call(getPointCheckBasics, id);
if (res.success) {
yield put({
type: "save",
payload: {
loading: false,
// dataSource: res.data,
},
});
} else {
yield put({
type: "hiddenLoading",
});
message.error(`获取数据失败!`);
}
},
*getContrastData({ payload }, { put, call }) {
yield put({
type: "showLoading",
});
const {
id,
} = payload;
const res = yield call(getPointCheckContrasts, id);
if (res.success) {
yield put({
type: "save",
payload: {
loading: false,
// contrast: contrastShaper(res.data),
contrast: contrastShaper([]),
},
});
} else {
yield put({
type: "hiddenLoading",
});
message.error(`获取数据失败!`);
}
},
*getResultData({}, { put, call }) {
yield put({
type: "showLoading",
});
const res = yield call(getPointCheckResults, );
if (res.success) {
yield put({
type: "save",
payload: {
loading: false,
// dataSource: res.data,
},
});
} else {
yield put({
type: "hiddenLoading",
});
message.error(`获取数据失败!`);
}
},
*updateReportName({ payload }, { put, call }) {
yield put({
type: "showLoading",
});
// const {
// id,
// name,
// } = payload;
const res = yield call(putPointCheckReportName, payload);
if (res.success) {
yield put({
type: "save",
payload: {
loading: false,
// dataSource: res.data,
},
});
} else {
yield put({
type: "hiddenLoading",
});
message.error(`获取数据失败!`);
}
},
*getTableData({ payload }, { put, call }) {
yield put({
type: "showLoading",
});
// const {
// id,
// contrasts,
// } = payload;
const res = yield call(getPointCheckDetails, payload);
if (res.success) {
yield put({
type: "save",
payload: {
loading: false,
// dataSource: res.data,
},
});
} else {
yield put({
type: "hiddenLoading",
});
message.error(`获取数据失败!`);
}
},
},

refs

https://zzk.cnblogs.com/my/s/blogpost-p?Keywords=redux-saga



xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


redux & dispatch & payload的更多相关文章

  1. 3.4 redux 异步

    在大多数的前端业务场景中,需要和后端产生异步交互,在本节中,将详细讲解 redux 中的异步方案以及一些异步第三方组件,内容有: redux 异步流 redux-thunk redux-promise ...

  2. redux-simple 简化版的redux

    作为react的粉丝,当然要吐槽一下react组件通信问题.react的单向数据流是组件通信的一大阻碍,只允许父组件向子组件传值,子组件向父组件传值只能通过父组件向子组件传递回调函数实现.如果在深层次 ...

  3. Redux API之bindActionCreators

    bindActionCreators(actionCreators,dispatch) 把 action creators 转成拥有同名 keys 的对象,但使用 dispatch 把每个 actio ...

  4. 理解 Redux 的中间件

    将该思想抽象出来,其实和 Redux 就无关了.问题变成,怎样实现在截获函数的执行,以在其执行前后添加自己的逻辑. 为了演示,我们准备如下的示例代码来模拟 Redux dispatch action ...

  5. 手把手教你撸一套Redux(Redux源码解读)

    Redux 版本:3.7.2 Redux 是 JavaScript 状态容器,提供可预测化的状态管理. 说白了Redux就是一个数据存储工具,所以数据基础模型有get方法,set方法以及数据改变后通知 ...

  6. 探索从 MVC 到 MVVM + Flux 架构模式的转变

    本文首发于 my blog 在业务中一般 MVVM 框架一般都会配合上数据状态库(redux, mobx 等)一起使用,本文会通过一个小 demo 来讲述为什么会引人数据状态库. 从 MVC 到 MV ...

  7. React: 研究Flux设计模式

    一.简介 一般来说,State管理在React中是一种最常用的实现机制,使用这种state管理系统基本可以开发各种需求的应用程序.然而,随着应用程序规模的不断扩张,原有的这种State管理系统就会暴露 ...

  8. 手写Redux-Saga源码

    上一篇文章我们分析了Redux-Thunk的源码,可以看到他的代码非常简单,只是让dispatch可以处理函数类型的action,其作者也承认对于复杂场景,Redux-Thunk并不适用,还推荐了Re ...

  9. dva的effect那么难用,自己造一个轮子吧

    背景 对于dva这个开发框架,国内从事react的前端工程师多半不会感到陌生,dva完善的开发体系和简单的api,让其被广泛运用到实际工作中.我所在的公司也是长期使用dva作为基础的开发框架,虽然好用 ...

随机推荐

  1. C# 防止程序多开(重复开启)

    Mutex(mutual exclusion,互斥)是 .Net Framework 中提供跨多个线程同步访问的一个类.它非常类似了 Monitor 类,因为他们都只有一个线程能拥有锁定.而操作系统能 ...

  2. 你可能不知道的 transition 技巧与细节

    CSS 中,transition 属性用于指定为一个或多个 CSS 属性添加过渡效果. 最为常见的用法,也就是给元素添加一个 transition,让其某个属性从状态 A 变化到状态 B 时,不再是非 ...

  3. MySQL、SqlServer、Oracle 三种数据库的优缺点

    MySQL.SqlServer.Oracle 三种数据库的优缺点 一.MySQL 优点: 缺点: 二.SqlServer 优点: 缺点: 三.Oracle 优点: 缺点: 一.MySQL 优点: 体积 ...

  4. MacOS Big Sur开HiDPI

    我自己的环境: 开启hidpi的目的是为了让显示更加细腻,代价是缩小了显示范围. 自己在网上看了很多帖子,也尝试了几种,有些方法已经不再适合Big Sur系统了,所以本文提供一种可用的,在Big Su ...

  5. java中的四种内部类使用(1)

    内部类 (一) 概述 把类定义在另一个类的内部,该类就被称为内部类. 举例:把类Inner定义在类Outer中,类Inner就被称为内部类. class Outer { class Inner { } ...

  6. Java JDBC 模糊查询 避免输入_,%返回全部数据

    Java JDBC 模糊查询 避免输入_,%返回全部数据 "SELECT * FROM employees WHERE INSTR(first_name,?)>0 " 仅供参 ...

  7. 【uva 714】Copying Books(算法效率--二分+贪心)

    题意:将1个含N个正整数的序列划分成K个连续的子序列,使每段的和的最大值尽量小,问字典序最小的划分方案. 解法:由于是连续的数的"最大值最小",便可想到二分每段的最大值,若这时可分 ...

  8. 2020 年百度之星·程序设计大赛 - 初赛一Dec 简单dp

    题意: Problem Description 初始有 a, ba,b 两个正整数,每次可以从中选一个大于 1 的数减 1,最后两个都会减到 1,我们想知道在过程中两个数互质的次数最多是多少. Inp ...

  9. UVA - 12295 最短路(迪杰斯特拉)——求按对称路线最短路条数

    题意: 给你一个n,然后给你一个n*n的正方形w[i][j],你需要找到一个从(1,1)点走到(n,n)点的最短路径数量.而且这个路径必须按照y=x对称 题解: 我们把左上角的点当作(0,0)点,右下 ...

  10. Codeforces Round #658 (Div. 2) C2. Prefix Flip (Hard Version) (构造)

    题意:给你两个长度为\(n\)的01串\(s\)和\(t\),可以选择\(s\)的前几位,取反然后反转,保证\(s\)总能通过不超过\(2n\)的操作得到\(t\),输出变换总数,和每次变换的位置. ...