useAsyncFn

React钩子返回状态和async函数或返回promise的函数的回调。 状态与useAsync的形状相同。

Usage

  1. import {useAsyncFn} from 'react-use';
  2. const Demo = (url) => {
  3. const [state, fetch] = useAsyncFn(async () => {
  4. const response = await fetch(url);
  5. const result = await response.text();
  6. return result
  7. }, [url]);
  8. return (
  9. <div>
  10. {state.loading
  11. ? <div>Loading...</div>
  12. : state.error
  13. ? <div>Error: {state.error.message}</div>
  14. : state.value && <div>Value: {state.value}</div>
  15. }
  16. <button onClick={() => fetch()}>Start loading</button>
  17. </div>
  18. );
  19. };

Reference

  1. useAsyncFn(fn, deps?: any[]);