react-use/docs/useAsyncRetry.md
Truong Hoang Dung 03e16962e7
Fix typo
2019-03-31 09:27:52 +07:00

871 B

useAsyncRetry

Uses useAsync with an additional retry method to easily retry/refresh the async function;

Usage

import {useAsyncRetry} from 'react-use';

// Returns a Promise that resolves after one second.
const fn = () => new Promise((resolve, reject) => {
  setTimeout(() => {
    if (Math.random() > 0.5) {
      reject(new Error('Random error!'));
    } else {
      resolve('RESOLVED');
    }
  }, 1000);
});

const Demo = () => {
  const state = useAsyncRetry(fn);

  return (
    <div>
      {state.loading?
        <div>Loading...</div>
        : state.error?
        <div>Error...</div>
        : <div>Value: {state.value}</div>
      }
      {!state.loading?
        <a href='javascript:void 0' onClick={() => state.retry()}>Retry</a>
        : null
      }
    </div>
  );
};

Reference

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