【发布时间】:2021-07-23 11:51:24
【问题描述】:
为了简单起见,考虑这两个减速器(用打字稿编写):
export type userActionTypes =
| Interface1
| Interface2
const initialState1 = {...//some state} //<--comment indicates some sort of values are present
const initialState2 = {...//some state}
const reducer1 = (state = initialState1, action: userActionTypes){
switch(action.type) {
case action1.case1:
return {...//some new state1}
default: return state
}
}
const reducer2 = (state = initialState2, action: userActionTypes){
switch(action.type){
case action2.case2:
return {...//some new state1}
default: return state
}
}
const rootReducer = combineReducers({
mReducer1: reducer1,
mReducer2: reducer2
})
现在说一下我们在代码中调用以下代码的地方:
newAction = {type: action2.type2, //some other values}
dispatch(newAction);
**我的问题是:** react如何知道调用哪个reducer? 我的意思是,它不会将动作传递给 rootReducer 中的每个 reducer,是吗?我的意思是,如果是这种情况,那么所有默认情况都将毫无意义,case 语句中的所有情况都必须是唯一的。这是不可能的吧?
react如何知道调用哪个reducer?
【问题讨论】:
标签: reactjs typescript redux react-redux reducers