为了账号安全,请及时绑定邮箱和手机立即绑定

萌新求教!请问下redux-saga如何回调处理自己的业务逻辑?感激不尽

萌新求教!请问下redux-saga如何回调处理自己的业务逻辑?感激不尽

哔哔one 2019-08-21 12:16:37
如题,如何处理redux-saga的回调,调用自己的方法,比如,执行了saga后清除表单的输入,或者弹出成功信息框,或者跳转页面等等import{call,put,takeLatest}from'redux-saga/effects'import{fetch}from'@/util/request'import{message}from'antd'import{push}from'react-router-redux'import{CREATE_TASKGRAP,createTaskGrapSuccess,createTaskGrapFailed}from'../../actions/drawTaskGrapAction'constapifetch=(drawTaskGrap)=>{returnfetch('drawTaskGrap',drawTaskGrap)}exportfunction*DrawTaskGrapData(actions){try{yieldtakeLatest(CREATE_TASKGRAP,DrawTaskGrapData);constres=yieldcall(apifetch,actions.taskGrapObj);console.log('drawtaskgrapsaga=',res);yieldput(createTaskGrapSuccess(res.data))}catch(error){yieldput(createTaskGrapFailed(error.message))}}
查看完整描述

2 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

我自己写了个解决方法:
this.props.dispatch(createTaskGrap({
task:{
activities:activities,
remark:"",
srcJson:modelTxt,
templateName:"",
},
//声明你的方法,方法体里面的逻辑自己实现就好
testFn:()=>{
//yourdo
}
}))
然后在saga里面执行:
exportfunction*DrawTaskGrapData(actions){
try{
yieldtakeLatest(CREATE_TASKGRAP,DrawTaskGrapData);
constres=yieldcall(apifetch,actions.taskGrapObj.task);
//调用想要执行的方法
actions.taskGrapObj.testFn();
yieldput(createTaskGrapSuccess(res.data))
}catch(error){
yieldput(createTaskGrapFailed(error.message))
}
}
                            
查看完整回答
反对 回复 2019-08-21
  • 2 回答
  • 0 关注
  • 385 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信