【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
github地址:redux-promise-thunk
之前redux开发中用的redux-thunk第三方中间件,既能解决redux的异步问题,又能在action执行中获得dispatch和getState(),给开发带来很多方便。
后来进入别的项目,那个项目异步用的是redux-promise和redux-action结合。由于某些业务需要在一个action中调用dipatch,就想着redux-promise和redux-thunk结合下,就自己做了一个。
代码特别简单。
原来的用法:(redux-promise和redux-action)
createAction('FETCH_THING', async id => {
const result = await somePromise;
return result.someValue;
});
**新的用法:redux-promise-thunk和redux-action **
`
createAction('FETCH_THING', async id => {
const result = await somePromise;
return (dispatch, getState) => {
dispatch(someData);
dispatch(someData2);
return result.someValue;
};
});
`
或
`createAction('FETCH_THING', id => {
return (dispatch, getState) => {
dispatch(someData);
dispatch(someData2);
return result.someValue;
};
});`
用法和之前差不多,可以用到redux中的diaptch和getState,是不是很爽。
来源:oschina
链接:https://my.oschina.net/u/3573460/blog/3153409