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

背景

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

《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;
    },
    原文作者:猫子
    原文地址: https://segmentfault.com/a/1190000019739614
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞