React-hook-async
- Simple way to work with async in your react components, using new React hooks.
- Support chaining async tasks.
- Small with no dependency needed
INSTALLATION
yarn add react-hook-async
or
npm i react-hook-async --save
Usage
Performing an async task is common actions when working with React.
With hooks, we usually use something like const [loading, setLoading] = useState(false)
to manipulate our UI: show a loading indicator, an error message, ... This thing is trying to make your life a little bit easier when working with async data.
;; const Example = { const text setText = ; const apiData fetchApi = const onSearch = { ; }; const loading result error lastFetch = apiData; return <div> <input type="text" value=text onChange= /> loading ? <div>Loading ...</div> : error ? <div>errormessage</div> : <div>result</div> </div> } ;
API
useAsync(initValue, func) : [apiData, execute, reset]
Params:
Name | Type | Description |
---|---|---|
func |
() => Promise |
A function return promise. The value from promise will be set to apiData.result |
initValue |
any |
Initial value for apiData.result |
Returned Value:
Name | Type | Description |
---|---|---|
apiData |
{loading: boolean, error: null|Error, result: any, lastFetch: Date} |
Async task state |
execute |
Function |
Function to perform an async task |
reset |
Function |
Function to reset apiData |
FAQ
Any pull requests & issues are warmly welcome :)