react-use/docs/useAsyncCallback.md
2019-04-09 00:23:39 +10:00

37 lines
791 B
Markdown

# `useAsyncCallback`
React hook that returns state and a callback for an `async` function or a
function that returns a promise. The state is of the same shape as `useAsync`.
## Usage
```jsx
import {useAsyncCallback} from 'react-use';
const Demo = (url) => {
const [state, fetch] = useAsyncCallback(async () => {
const response = await fetch(url);
const result = await response.text();
return result
}), [url];
return (
<div>
{state.loading
? <div>Loading...</div>
: state.error
? <div>Error: {state.error.message}</div>
: state.value && <div>Value: {state.value}</div>
}
<button onClick={() => fetch()}>Start loading</button>
</div>
);
};
```
## Reference
```ts
useAsyncCallback(fn, deps?: any[]);
```