Redux:彼此执行两个动作

时间:2017-02-17 17:57:16

标签: javascript reactjs redux

我遇到了以下问题:

  • 我在React组件中有一个按钮,可以在点击
  • 上调度actionA
  • actionA调用reducerFoo,然后更改其状态
  • ......这种状态变化应该直接导致....
  • 调度actionB,它使用reducerFoo状态的一部分作为其有效负载
  • actionB调用reducerBar,它会更改其状态

因此reducerBar依赖于reducerFoo中的状态变化。

解决这个问题的干净解决方案是什么?

2 个答案:

答案 0 :(得分:1)

使用redux-thunk看起来像这样;

export function saveSnipEdit(item) {
  return (dispatch, getState) => {
    dispatch({type: 'SaveSnipEdit', item});
    dispatch({type: 'ApiSetSnipData', data: {data: getState().snipData.allSnips}});
  };
}

答案 1 :(得分:0)

您可以使用redux-saga根据上一个电话/操作的结果发送另一个操作。