2017-02-15 91 views
0

我有几个动作,需要与另一个动作一起使用, 更具体的我有行动来处理doument和一个行动来保存它,我不会去重复保存文件的调用,所以我试图在mapDispatchToPropsthunk上创建自己的包装。Redux - 在mapDispatchToProps中换行动另一个动作

我需要我通过对thunk行动执行的方法的每个动作 -

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

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

我试图创建的方法来操作映射到咚

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

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

    return mappedActions; 
} 

而且我总是收到错误'操作必须是普通对象。使用自定义中间件进行异步操作。'难道我做错了什么?我不知道我可以如何调试它们。将不胜感激任何帮助。

回答

1

我想你需要改变:

dispatch(action) 

喜欢的东西:

dispatch(actions[action]()) 

现在看来,你试图派遣一个字符串

+0

啊,THX的快速答复。对我感到羞耻^^ –

相关问题