【发布时间】:2022-07-13 14:59:02
【问题描述】:
我正在开发的应用程序商店如下所示:
export const reducers: ActionReducerMap<State> = {
auth: authReducer,
settingsSlice: settingsReducer,
incidentsSlice: incidentListReducer,
networkStatus: networkStatusReducer,
incidentSlice: incidentReducer,
};
我正在努力为 eventSlice 内部的东西创建特征选择器,因为该切片非常大并且有很多嵌套切片。
例如:conferenceCallSlice 在incidentSlice 内,我需要在conferenceCallSlice 内选择callStatus。所以我试过这个,除其他外,但我什么都做不了:
export const selectIncidentSlice = createFeatureSelector(\'incidentSlice\');
export const selectConferenceCall = createSelector(selectIncidentSlice, (state: any) => state.conferenceCall);
export const selectConferenceCallConfig = createSelector(selectIncidentSlice, (state: any) => state.conferenceCall.conferenceCall);
export const selectCallStatus = createSelector(selectConferenceCall, (state: any) => state.conferenceCall.callStatus);
作为参考,这是 IncidentSlice 减速器:
export interface IncidentState {
currentIncident: CurrentIncidentState;
statusBoard: StatusBoardState;
stakeholders: StakeholderState;
conferenceCall: ConferenceCallState;
}
export const reducer = combineReducers({
currentIncident: currentIncidentReducer,
statusBoard: statusBoardReducer,
stakeholders: stakeholderReducer,
conferenceCall: conferenceCallReducer,
});
这里也是 ConferenceCall Reducer:
export interface ConferenceCallState {
conferenceCall: VideoCallRoomConfig;
callStatus: CallStatus;
}
export const initialState: ConferenceCallState = {
conferenceCall: conferenceCallConfigData,
callStatus: CallStatus.NO_CALL,
};
我究竟做错了什么?