react后台获取数据调用CallBack立即使用

指针大冒险
• 阅读 6031

背景

*最近在做项目时遇到表单数据获取问题,

react后台获取数据调用CallBack立即使用

用户首先在申报者下拉框中选择数据,并根据这个数据向后台发送请求获取这条数据的详细信息,再根据返回的详细信息来生成项目所属阶段下拉框的数据。
这种需要实时使用的数据可以在dispatch时增加callback函数,返回获取数据成功后拿到的数据。

函数定义处代码如下:

 handleChooseSchool=(value)=>{
    const that = this;
    const {dispatch}=this.props;
    dispatch({
      type:'EduMangeProjectsModel/getUser',
      payload:{
        id:value
      },
        callback : (res) => {
       this.handleSchoolUserChange(res);
        },
    },
    )
  };

相应model下函数定义如下:

*getUser({payload,callback},{call,put}){//将callback作为参数传入
      const response=yield call(UserSettingService.getUser,payload);
      if(response.code===0){

        yield put({
          type:'save',
          payload:{
            schoolUserDetail:response.data
          }
        })
        if (callback && typeof callback === 'function'){
          callback(response.data);//返回response中的该条信息详细数据
        }
      }
      else{
        message.warning('获取信息失败')
      }
      return response;
    },
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
不是海碗 不是海碗
2年前
关于工商详细信息 API,你想了解的都在这里了
工商详细信息API的基本工作原理是通过向企业工商信息数据库发送请求,获取企业的详细信息,然后将信息以标准格式返回给用户。
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
springboot2之优雅处理返回值
前言最近项目组有个老项目要进行前后端分离改造,应前端同学的要求,其后端提供的返回值格式需形如{"status":0,"message":"success","data":{}}方便前端数据处理。要实现前端同学这个需求,其实也挺简单的,
东方客主 东方客主
4年前
PHP实现文本快速查找 - 二分查找法
起因先说说事情的起因,最近在分析数据时经常遇到一种场景,代码需要频繁的读某一张数据库的表,比如根据地区ID获取地区名称、根据网站分类ID获取分类名称、根据关键词ID获取关键词等。虽然以上需求都可以在原始建表时,通过冗余数据来解决。但仍有部分业务存的只是关联表的ID,数据分析时需要频繁的查表。所读的表存在共同的特点数据几乎不会变更数据量适中,从一万
MaxSky MaxSky
4年前
PHP 微信公众号消息加解密
公众号配置根据提示设置即可:【图中信息均为无意义数据,仅供参考。注意服务器地址需可接收GET/POST两种请求】AESKey直接点一下随机生成即可,Token可以生成一个UUID再把UUID进行MD5一次即可。接收关注事件消息示例请求参数校验这一步根据项目情况,可供参考:(Lumen框架)php$valida
Stella981 Stella981
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Stella981 Stella981
3年前
Angular路由参数传递
一、路由时传递参数的方式1、在查询参数中传递数据,如//前台页面<arouterLink"/product"queryParams"{id:1}"商品详情</a//后台页面获取参数exportclassProductComponentimplementsOnInit{