react-use/docs/useAsync.md
2019-07-16 19:39:35 +10:00

628 B

useAsync

React hook that resolves an async function or a function that returns a promise;

Usage

import {useAsync} from 'react-use';

const Demo = ({delay = 1000}) => {
  const state = useAsync(() => {
    // Returns a Promise that resolves after x milliseconds
    return new Promise((resolve) => setTimeout(() => resolve('RESOLVED'), delay);
  }, [delay]);

  return (
    <div>
      {state.loading?
        <div>Loading...</div>
        : state.error?
        <div>Error...</div>
        : <div>Value: {state.value}</div>
      }
    </div>
  );
};

Reference

useAsync(fn, args?: any[]);