dva学习---effects异步中通过select获取当前的state
2024-09-24 18:44:46
根据 在组件中dispatch一个action的例子中,如果要在effects中对于param数据和当前的state数据进行再出处理,这里怎么获取state呢?采用select,如下:
- export default {
- namespace: 'example',
- state: {num:1}, //表示当前的example中的state状态,这里可以给初始值,这里num初始为1
- effects: { //这里是做异步处理的
- *addByONe({ param}, { call, put,select }) { //这里使用select
- const num = yield select(state => state.num) //这里就获取到了当前state中的数据num
- //方式二: const num = yield select(({num}) =>num)
- //方式三: const num = yield select(_ =>_.num)
- let param1;
- param1 = num + param; 这里就可以使用num进行操作了
- yield put({
- type: 'save',
- num:param1
- });
- }
- },
- //用来保存更新state值 上面的put方法调用这里的方法
- reducers: {
- save(state, action) { //这里的state是当前总的state,这里的action包含了上面传递的参数和type
- return { ...state, ...action.num }; //这里用ES6语法来更新当前state中num的值
- },
- },
- };
最新文章
- yii2.0归档安装方法
- 二进制求最大公约数&;&;输出二进制
- 爬虫5 html下载器 html_downloader.py
- Using sql azure for Elmah
- hdu 4759 Poker Shuffle 二进制
- C++11右值引用,移动主义
- shell常用命令总结
- UVALive 4957 Fake scoreboard
- IIS给网站地址配置成HTTPS的
- 树莓派高级GPIO库,wiringpi2 for python使用笔记(二)高精度计时、延时函数
- 使用QT 4.8.6 + Cmake 3.0.0 编译 最新版本OpenCv3.0.0
- InnoDB 索引原理
- 小甲鱼OD学习第12讲
- ssh整合之五struts和spring整合
- Luogu P1447 [NOI2010]能量采集
- Java heap space cdh 5.11.1
- JavaScript: apply 方法 详解(转)——非常好
- ubuntu查询某个库的相关情况
- 设置同样字体大小,chrome浏览器有时字体偏大的解决办法(转)
- 怎样使用CSS设置文字与文字间距距离?