@giancosta86/captain-hook v1.0.0
captain-hook
TypeScript hooks for React
captain-hook is a TypeScript library for React dedicated to functional programming via hooks - as described in this article.
Installation
The package on NPM is:
@giancosta86/captain-hook
The public API entirely resides in the root package index, so you shouldn't reference specific modules.
Usage
useAsyncFetcher()
Multi-stage approach to data fetching, alternative to SWR.
It creates a sort of fetching pipeline having the following parameters - to be packed into an object:
fetcher
: the() => Promise<T | undefined>
function used to fetch data - for example, from some API. If the function returnsPromise<undefined>
, the process will be stopped andonCancel
(if passed) will be called instead ofonData
onData
: basically a(data: T) => void | Promise<void>
function manipulating the fetched data; for example, you might want to call React state settersonError
: precisely an(err: unknown) => void | Promise<void>
function only called if an error is thrown byfetcher
or any other handler (includingonCancel
andonStale
)onCancel
: optional() => void | Promise<void>
function called in lieu ofonData
whenfetcher
returnsundefined
onStale
: optional() => void | Promise<void>
function called whenfetcher
returns but in the meantime another fetcher has been started because of a change independencies
dependencies
: the array of dependencies referenced by the internaluseEffect()
; the hook by itself does not automatically set any implicit dependency.
9 months ago