React - Redux 根据 UI 状态分派一个动作

React - Redux dispatch an action based on UI state

在我的 React 组件 reducer 状态下,我有一个 selectedTabIndex 属性,指定哪个选项卡在我的 UI.

中当前处于活动状态
const deviceRankReducer = (state = {
    selectedIndex:1
},action) ={
   //...
}

在我的 Redux 操作中,我想根据选定的选项卡索引进行 AJAX 调用。

class MyActions extends ReduxActionsBase {
     sendRequest(){
          if(state.selectedIndex === 0){
             //make call to resource A
          }else{
             //make call to resource B
          }
     }
}

在不做出反模式决策的情况下与 ReduxActionsBase 共享信息的最佳实践是什么?

我建议使用 redux-thunkredux-thunk 允许您分派条件和异步操作,并且您可以访问操作创建器中的 Redux 状态。在你的案例中,Action Creator 应该是这样的

function makeRequest() {
  return (dispatch, getState) => {
    const { selectedIndex } = getState();

    if(state.selectedIndex === 0){
      //make call to resource A
    }else{
      //make call to resource B
    }
  };
}