【发布时间】:2017-05-13 00:40:42
【问题描述】:
我使用 redux-actions 和 redux-promise-middleware 来调度操作,同时使用 TypeScript 2.1 来支持 async await。
这是一个同时使用redux-actions 和redux-promise-middleware 的操作
// create an async action
const fooAction = createAction('FOO', async () => {
const { response } = await asyncFoo();
return response;
});
// use async action
fooAction('123')
这是一个动作链的例子,只使用redux-promise-middleware
const foo = () => dispatch => {
return dispatch({
type: 'TYPE',
payload: new Promise()
})
.then(() => dispatch(bar()));
}
redux-promise-middleware 中的链接如何与redux-actions 一起使用?
【问题讨论】:
-
在实际项目中使用了 5 个月后,我切换到了 redux-saga。 redux-thunk 的问题是您必须将越来越多的数据作为参数传输给操作,最后,您希望将应用程序的整个状态传输到那里。 Redux-saga 默认知道这一点,并为此和其他有用的东西提供了特殊的方法。
-
顺便说一句,您还可以使用 getState 读取状态。签名是 (dispatch, getState) => ...
标签: typescript redux redux-promise