zoukankan      html  css  js  c++  java
  • takeLatest 如何接受 this.props.dispatch 传递的参数

    1.步骤一

    // 获取查询参数
    getQueryParams(params){
      // 请求月考核分的数据
      this.props.dispatch({
        type:'getMonthlyAssessmentScoreData', // action.type api
        payload: params
      })
    }

    2.步骤二

    // 月考核分
    function* monthlyAssessmentScoreSaga(){
      /**
       * takeLatest
       * 对于触发多个action的时候,只执行最后一个,其他的会自动取消
       */
      yield takeLatest('getMonthlyAssessmentScoreData',(params) => getMonthlyAssessmentScoreList(params))
    }

    3.步骤三

    // 月考核分 请求
    import { getMonthlyAssessmentScorelist } from '../services/api';
    /**
     * 声明时需要添加*,普通函数内部不能使用yield关键字,否则会出错
     * 获取用户列表数据
     */
    function* getMonthlyAssessmentScoreList(params){
      const response = yield call(() => getMonthlyAssessmentScorelist(params)); // 返回值
      // put -- 触发某个action, 作用和dispatch相同
      yield put({ // 考核一览数据
        type:'currentMonthlyAssessmentScoreList', // 触发 同步 monthlyAssessmentScore --> currentMonthlyAssessmentScoreList
        payload:response.data, // 后台获取的数据
      })
    
      yield put({ // 加载动画
        type:'listload',
        payload:false,
      })
    }

    4.步骤四

    // 月考核分
    export async function getMonthlyAssessmentScorelist(param){
      console.log(param);
      return axios.get('http://localhost:8000/monthlyAssessmentScoreList').then(function(response){
        // 接收 json-server 的返回值
        return response.data;
      })
    }

    .

  • 相关阅读:
    写给实习生的第一天
    写给实习生的第一天
    写给实习生的第一天
    老师不能把你怎样,但外面的世界可以!
    老师不能把你怎样,但外面的世界可以!
    adjA=(detA)A-1
    如果它仅对输入0才得到输出0
    isotropic trace
    detAB=detAdetB
    解释 纯量矩阵
  • 原文地址:https://www.cnblogs.com/crazycode2/p/9165667.html
Copyright © 2011-2022 走看看