Экспорт RootState в redux с машинописным текстом не удовлетворяет ограничению - PullRequest
0 голосов
/ 06 августа 2020

Как видно из примеров из документации здесь , мы должны экспортировать 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 выдает мне эту ошибку, так как я следую документации, как говорится. Любая помощь будет оценена!

...