react-use/src/useAsync.ts
xobotyi 563f71db14 Fix Promise type detection;
Fix function name;
2019-09-04 14:03:26 +03:00

18 lines
444 B
TypeScript

import { DependencyList, useEffect } from 'react';
import useAsyncFn from './useAsyncFn';
import { FnReturningPromise } from './util';
export { AsyncState, AsyncFnReturn } from './useAsyncFn';
export default function useAsync<T extends FnReturningPromise>(fn: T, deps: DependencyList = []) {
const [state, callback] = useAsyncFn(fn, deps, {
loading: true,
});
useEffect(() => {
callback();
}, [callback]);
return state;
}