dvajs(redux)中effects里面其中一个action如何触发另一个action?

问题描述

假设有两个操作, 一个是刷新列表、一个是删除数据. 我希望成功删除数据之后能够触发刷新列表的操作.

问题出现的环境背景及自己尝试过哪些方法

虽然可以再写一遍刷新列表的操作 但是感觉有点重复了, 所以想能否直接触发原来的action

相关代码

export default {
  namespace: 'dblist',

  state: {
    list: [],
  },

  effects: {
    //刷新
    *refesh({ payload }, { call, put }){
        const response = yield call(refeshList, payload);
        //...
    },
    
    *delete({ payload }, { call, put }){
        const response = yield call(deleteData, payload);
        const { code, result } = response;
        if(code!=0){
           alert('删除成功')
           //...如何在这一步里面触发上面refesh操作 
           /*
           * 原本的做法是再重复写一遍请求
           * const response = yield call(refeshList, payload);
           */
        }
    }
  }
}

你期待的结果是什么?实际看到的错误信息又是什么?

感觉可以直接在delete操作里面引用refesh. 但是不知道怎么引用。希望知道的大神提点一下~谢谢

阅读 5k
1 个回答

直接调用 yield put({type:'refesh'})

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题