redux-promise和redux-thunk结合体 redux-promise-thunk (适用于redux-action)

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,是不是很爽。

你可能感兴趣的:(redux,前端,react)