Похоже, что это ошибка в redux-thunk
, которая была исправлена в этом коммите .Использование измененного типа ThunkDispatch
в коммите позволяет приведенному выше коду работать без ошибок.Однако новая версия redux-thunk
не публикуется с мая 2018 года, то есть это исправление не является общедоступным.
Просматривая связанные проблемы, вы также можете исправить это, изменив определение Thunk<R>
to
export type Thunk<R> = ThunkAction<R, AppState, undefined, Action>;
Это заставляет использовать правильную перегрузку ThunkDispatch
(ту, которая принимает ThunkAction
).В противном случае, из-за any
TypeScript не может однозначно определить, какой из двух использовать, и поэтому просто выбирает первый (тот, который принимает просто Action
).Именно поэтому вышеуказанный PR устраняет проблему, поскольку они переставляют две перегрузки, чтобы TS выбрал вариант ThunkAction
по умолчанию.