猿问

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

如题,如何处理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))
}
}
哔哔one
浏览 386回答 2
2回答

忽然笑

我自己写了个解决方法: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))}}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答