Redux - 将动作包装在 mapDispatchToProps 中的另一个动作中

Redux - Wrap actions inside another action in mapDispatchToProps

我有几个动作,需要与另一个动作一起使用, 更具体地说,我有处理 doument 的操作和一个保存它的操作,我不想重复调用保存文档,所以我尝试在 mapDispatchToPropsthunk 上创建自己的包装器。

我需要传递给方法的每个动作执行到 thunk 个动作 -

来自

function changeAction() {
   return: {
     type: types.CHANGE
   }
}

function change() {
   return(dispatch, getState) => {
      dispatch(changeAction())
      saveDocument(getState());
   }
}

我尝试创建方法将动作映射到 thunk

export function mapUpdatePresentationsToProps(actions) {
    const mappedActions = {};

    Object.keys(actions).map(action => {
       mappedActions[action] = function() {
          return (dispatch, getState) => {
             dispatch(action)
             dispatch(updatePresentation(getState()))
          }
        }
    })

  return mappedActions;
}

而且我总是得到一个错误 'Actions must be plain objects. Use custom middleware for async actions.' 我是不是做错了什么?我不知道如何调试它们。将不胜感激。

我猜你需要更改:

dispatch(action)

类似于:

dispatch(actions[action]())

现在您似乎尝试发送一个字符串