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;
  })
}

.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值