Lo que estoy haciendo actualmente es:
export type Action = { type: 'FOO' } | { type: 'BAR' } export type Thunk = (dispatch: Dispatch, getState: GetState) => Action | Thunk export type Dispatch = ReduxDispatch<Action> & (action: Thunk) => void pero si envía directamente a la store , eso no funcionará sin volver a crear la store :
export type Store = ReduxStore<State, Action>
En general, mi solución thunk parece tener otros problemas menores. ¿Alguien tiene una definición de biblioteca de trabajo para redux-thunk ? No puedo encontrar uno en ningún lado.
El mejor ejemplo que he encontrado hasta ahora son los que se usan en la propia aplicación F8 de Facebook aquí .
Es bastante similar al tuyo:
export type Dispatch = (action: Action | ThunkAction | PromiseAction | Array<Action>) => any; export type GetState = () => Object; export type ThunkAction = (dispatch: Dispatch, getState: GetState) => any; export type PromiseAction = Promise<Action>;Me ha funcionado bastante bien hasta ahora en mi proyecto, aunque no envío directamente a la tienda a ningún lado.