React Redux Multiple Actions,想要触发单个渲染

时间:2017-12-03 13:59:07

标签: reactjs redux react-redux

新的反应/减少所以请耐心等待:)。

从下拉列表中选择regionlevel时,我想存储选定的RegionLevelId,并进行API调用以获取属于此RegionLevel的区域。

起初我将regionLevelId存储在regionLevelReducer中,这使得我只触发了一次状态更改。

但是,我在我的状态下保存了更多选定的选项,所以我认为制作一个" selectOption"存储selectedIds的reducer。

现在重点是,当我从下拉列表中选择regionLevel时,我必须进行两次动作调用。一个用于存储regionLevelId,另一个用于从API获取数据。这会将页面呈现两次,这是不必要的。

我想知道是否可以调用两个动作,而在这两个动作完成之后进行渲染。现在它在这两个动作之间呈现。

我不确定这是否违反了应该如何使用redux。但我对人们如何解决这个问题感兴趣。

我使用atm的行动:

export function selectRegionLevel(regionLevelId) {
  return function(dispatch) {
    dispatch({
      type: "SELECT_REGION_LEVEL",
      payload: regionLevelId
    });
    dispatch({
      type: "FETCH_REGIONS",
      payload: {
        request: {
          url: `regionLevels/${regionLevelId}/regions`
        }
      }
    });
  };
}

感谢。

1 个答案:

答案 0 :(得分:0)

根据您的要求,我认为您所寻找的是批量操作。看一下旨在解决这个问题的enter image description here,并由redux团队在这样的场景中推荐。