Как видно из примеров из документации здесь , мы должны экспортировать RootState
, используя ReturnType<typeof rootReducer>
- но всякий раз, когда я это делаю, я получаю сообщение об ошибке, что это не удовлетворяет ограничению :
Type 'Function' does not satisfy the constraint '(...args: any) => any'
Root Редуктор:
export const rootReducer = combineReducers({
playing: playingReducer
});
export type RootState = ReturnType<typeof rootReducer>; // This errors!
Мой редуктор:
import { typedAction } from "../actions/rootAction";
import { PlayerState, Song } from "./rootReducer";
import { UPDATE_PLAYING } from "../actions/updatePlaying";
const initialState: PlayerState = {
playing: null,
queue: null,
dj: "",
djMode: ""
};
const updatePlaying = (song: Song) => {
return typedAction(UPDATE_PLAYING, song);
};
type PlayerAction = ReturnType<typeof updatePlaying>;
export function playingReducer(
state = initialState,
action: PlayerAction
): PlayerState {
switch(action.type) {
case UPDATE_PLAYING:
return {
...state,
...action.payload
};
default:
return state;
}
};
Я не могу понять, почему Транспилер TS выдает мне эту ошибку, так как я следую документации, как говорится. Любая помощь будет оценена!