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-thunk。 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
}
};
}
在我的 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-thunk。 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
}
};
}