如题,如何处理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))}}
添加回答
举报
0/150
提交
取消