你怎么认为flowtype redux thunk?

时间:2017-01-22 15:33:51

标签: reactjs redux react-redux redux-thunk

我目前正在做的是:

export type Action =
   { type: 'FOO' }
 | { type: 'BAR' }

export type Thunk = (dispatch: Dispatch, getState: GetState) => Action | Thunk 

export type Dispatch = ReduxDispatch<Action> & (action: Thunk) => void

但如果您直接在store上发送,那么在不重新创建store的情况下无效:

export type Store = ReduxStore<State, Action>

一般来说,我的thunk解决方案似乎还有其他小问题。有没有人有redux-thunk的工作库定义?我找不到任何地方。

1 个答案:

答案 0 :(得分:7)

我到目前为止找到的最好的例子是Facebook自己的F8应用here中使用的那些。

这与你的非常相似:

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>;

到目前为止,在我的项目中,它对我来说效果很好,但我不会直接在商店任何地方发送。