Это, вероятно, нубистский вопрос, но как мне справиться с ошибкой Typescript TS2344?
Тип 'State' не удовлетворяет ограничению '(state: any, ... args:any []) => any '.
Вот кодовый код моего sagas.ts
, где происходит ошибка
function* loadPageFull(action: Actions.LoadPageFullAction ) {
if (!action.id)
return;
const currentPageFull: Interfaces.PageFull =
yield (select<Top.State>(Selectors.getPageFull(action.id))); // <-- error occurs here
if (!currentPageFull || action.forceReload) {
// here we query the API of the backend and return some JSON
}
}
Кажется, проблема в Top.State
в соответствии с yield
. Любопытно, что у меня не было ошибки до обновления Typescript до версии 3.6.4.
РЕДАКТИРОВАТЬ: getPageFull
определяется в selectors.ts
как
const getPageFullInner = (state: State, id: number) => state.pagesFull.get(id);
export const getPageFull = (id: number) => (state: Top.State)
=> getPageFullInner(foobar(state), id);
Здесь также определена функция foobar()
export const foobar = (state: State) => state.foobar;
Ссылки