Typescriptでreduxのmiddlewareを書こうと思ったら型がよくわからなくなったので、覚書。
この書き方だと古いのかうまく行かなかったので。
結論
reduxのindex.d.tsを読めばわかることなのですが...
import { Middleware, MiddlewareAPI, Dispatch, AnyAction } from 'redux';
export const timerMiddleware: Middleware =
<S extends AppStore>({ getState }: MiddlewareAPI<Dispatch, S>) =>
(next: Dispatch<AnyAction>) =>
(action: any): any => {
/* middlewareの処理 */
return next(action);
};