redux & dispatch & payload
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的更多相关文章
- 3.4 redux 异步
在大多数的前端业务场景中,需要和后端产生异步交互,在本节中,将详细讲解 redux 中的异步方案以及一些异步第三方组件,内容有: redux 异步流 redux-thunk redux-promise ...
- redux-simple 简化版的redux
作为react的粉丝,当然要吐槽一下react组件通信问题.react的单向数据流是组件通信的一大阻碍,只允许父组件向子组件传值,子组件向父组件传值只能通过父组件向子组件传递回调函数实现.如果在深层次 ...
- Redux API之bindActionCreators
bindActionCreators(actionCreators,dispatch) 把 action creators 转成拥有同名 keys 的对象,但使用 dispatch 把每个 actio ...
- 理解 Redux 的中间件
将该思想抽象出来,其实和 Redux 就无关了.问题变成,怎样实现在截获函数的执行,以在其执行前后添加自己的逻辑. 为了演示,我们准备如下的示例代码来模拟 Redux dispatch action ...
- 手把手教你撸一套Redux(Redux源码解读)
Redux 版本:3.7.2 Redux 是 JavaScript 状态容器,提供可预测化的状态管理. 说白了Redux就是一个数据存储工具,所以数据基础模型有get方法,set方法以及数据改变后通知 ...
- 探索从 MVC 到 MVVM + Flux 架构模式的转变
本文首发于 my blog 在业务中一般 MVVM 框架一般都会配合上数据状态库(redux, mobx 等)一起使用,本文会通过一个小 demo 来讲述为什么会引人数据状态库. 从 MVC 到 MV ...
- React: 研究Flux设计模式
一.简介 一般来说,State管理在React中是一种最常用的实现机制,使用这种state管理系统基本可以开发各种需求的应用程序.然而,随着应用程序规模的不断扩张,原有的这种State管理系统就会暴露 ...
- 手写Redux-Saga源码
上一篇文章我们分析了Redux-Thunk的源码,可以看到他的代码非常简单,只是让dispatch可以处理函数类型的action,其作者也承认对于复杂场景,Redux-Thunk并不适用,还推荐了Re ...
- dva的effect那么难用,自己造一个轮子吧
背景 对于dva这个开发框架,国内从事react的前端工程师多半不会感到陌生,dva完善的开发体系和简单的api,让其被广泛运用到实际工作中.我所在的公司也是长期使用dva作为基础的开发框架,虽然好用 ...
随机推荐
- fastjson的deserializer的主要优化算法 漏洞
JSON最佳实践 | kimmking's blog http://kimmking.github.io/2017/06/06/json-best-practice/ Fastjson内幕 Java综 ...
- 使用Robo 3T访问MongoDB数据库
使用Robo 3T操作MongoDB数据库教程:https://blog.csdn.net/baidu_39298625/article/details/99654596 在IDEA中用三个jar包链 ...
- centos安装、升级新火狐最新版 31
1.登录火狐主页 下载最新版本firefox-31.0.tar.bz2 解压: tar -jxvf firefox-31.0.tar.bz2 2.然后把旧版本的firefox卸掉 # yum eras ...
- apache 创建多端口监听
httpd.conf 将 #LoadModule vhost_alias_module modules/mod_vhost_alias.so 改为 LoadModule vhost_alias_mod ...
- linux(10)linux vi/vim
前言 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是vim编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的 ...
- LaTeX 环境安装&编译器配置
推荐网站:https://www.latexstudio.net/articles/ (基本所有的latex疑惑都可以在这里得到解决) 入门视频:两小时短小精悍,让你轻松入门,https://www. ...
- 洛谷P3796
题目链接 题意:有n个由小写字母组成的模式串以及一个文本串T.每个模式串可能会在文本串中出现多次.哪些模式串在文本串T中出现的次数最多. 题解:ac自动机模板加强版,开一个数组单独记录各个字符串出现 ...
- Strategic game POJ - 1463 树型dp
//题意:就是你需要派最少的士兵来巡查每一条边.相当于求最少点覆盖,用最少的点将所有边都覆盖掉//题解://因为这是一棵树,所以对于每一条边的两个端点,肯定要至少有一个点需要放入士兵,那么对于x-&g ...
- Redis Cluster 分布式集群(下)
Redis Cluster 搭建(工具) 环境准备 节点 IP 端口 节点① 172.16.1.121 6379,6380 节点② 172.16.1.122 6379,6380 节点③ 172.16. ...
- Kubernets二进制安装(12)之部署Node节点服务的kube-Proxy
kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重要组件; kube-proxy负责为Pod创建代理服 ...