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

请问下redux-saga如何回调处理自己的业务逻辑?

请问下redux-saga如何回调处理自己的业务逻辑?

POPMUISE 2019-03-12 19:11:04
如题,如何处理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'const apifetch = (drawTaskGrap) => {    return fetch('drawTaskGrap', drawTaskGrap) }export function* DrawTaskGrapData(actions){    try{        yield takeLatest(CREATE_TASKGRAP, DrawTaskGrapData);        const res = yield call(apifetch, actions.taskGrapObj);        console.log('draw task grap saga = ', res);                 yield put(createTaskGrapSuccess(res.data))     }catch(error){        yield put(createTaskGrapFailed(error.message))     } }
查看完整描述

2 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

我自己写了个解决方法:

this.props.dispatch(createTaskGrap({
                    task:{
                        activities: activities,
                        remark: "",
                        srcJson: modelTxt,
                        templateName: "",
                    },                    // 声明你的方法,方法体里面的逻辑自己实现就好
                    testFn:()=>{                        //your do
                    }
            }))

然后在saga里面执行:

export function* DrawTaskGrapData(actions){    try{        yield takeLatest(CREATE_TASKGRAP, DrawTaskGrapData);        const res = yield call(apifetch, actions.taskGrapObj.task);        // 调用想要执行的方法
        actions.taskGrapObj.testFn();        yield put(createTaskGrapSuccess(res.data))
    }catch(error){        yield put(createTaskGrapFailed(error.message))
    }
}


查看完整回答
反对 回复 2019-03-12
  • 2 回答
  • 1 关注
  • 1133 浏览
慕课专栏
更多

添加回答

举报

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