use-cancelable-thunk-reducer

1.1.3 • Public • Published

use-cancelable-thunk-reducer

Codecov Coverage Build Status dependencies

Custom implementation of react hook useReducer that will cancel all dispatched actions if the component is unmounted and allows to dispatch thunk actions (that will be canceled either).

demo-gif

Open on codesanbox.

Installation

yarn add use-cancelable-thunk-reducer

npm i use-cancelable-thunk-reducer

useCancelableThunkReducer

import useCancelableThunkReducer from 'use-cancelable-thunk-reducer';
 
const [state, dispatch] = useCancelableThunkReducer(
  reducer,
  initialState,
  callback,
  init
);
 

reducer

useReducer first argument.

initialState

useReducer second argument.

callback

default is undefined, if is a function, when some action is canceled it is called with the action argument: callback(action).

init

useReducer last argument.

Thunk action

The thunk actions receive (dispatch, getState) args.

const thunkAction = args => async (dispatch, getState) => {
  dispatch({type: ACTION_SENT});
  const state = getState();
  ...
}

Package Sidebar

Install

npm i use-cancelable-thunk-reducer

Weekly Downloads

1

Version

1.1.3

License

MIT

Unpacked Size

109 kB

Total Files

14

Last publish

Collaborators

  • pedrobern