Javascript React-Redux根据UI状态分派操作
在我的React component reducer状态中,我有一个selectedTabIndex属性,指定我的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(){
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依赖项,那么将其复制粘贴到应用程序中就很简单了。