honzabrecka / useSafeEffect

A hook designed to perform an async effect in a safe way, thus prevent possible and undesired race condition.

Repository from Github https://github.comhonzabrecka/useSafeEffectRepository from Github https://github.comhonzabrecka/useSafeEffect

useSafeEffect

A hook designed to perform an async effect in a safe way, thus prevent possible and undesired race condition.

Installation

yarn add use-safe-effect-hook

Usage

useSafeEffect(
  ({ checkEffectValidity, handleEffectError }) => {
    anAsyncAction(id)
      .then(checkEffectValidity)
      // state is updated only if effect is still valid
      .then(updateState)
      // error is shown only if effect is still valid
      .catch(handleEffectError(showError))
  },
  [id]
)

About

A hook designed to perform an async effect in a safe way, thus prevent possible and undesired race condition.

License:MIT License


Languages

Language:JavaScript 100.0%