Javascript React-Redux根据UI状态分派操作

Javascript React-Redux根据UI状态分派操作,javascript,web,redux,react-redux,reducers,Javascript,Web,Redux,React Redux,Reducers,在我的React component reducer状态中,我有一个selectedTabIndex属性,指定我的UI中当前活动的选项卡 const deviceRankReducer = (state = { selectedIndex:1 },action) ={ //... } 在我的Redux操作中,我希望根据所选的选项卡索引进行AJAX调用 class MyActions extends ReduxActionsBase { sendRequest(){

在我的React component 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 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
    }
  };
}

感谢您的回复,这可以在不添加第三方库的情况下完成吗?我在一个给定的环境中工作,redux thunk在redux应用程序中非常常用,如果没有它或没有类似的东西,很难创建redux应用程序,但是如果你不能安装任何第三方库,你就必须编写自己的redux
中间件
:redux thunk只有大约12行长。如果不能将其添加为NPM依赖项,那么将其复制粘贴到应用程序中就很简单了。