UNPKG

@vergiss/chooks

Version:
35 lines (31 loc) 707 B
import { useEffect, useState } from 'react'; function useFetch(service /*, options?: IUseFetchOptions*/ ) { var _a = useState('pending'), status = _a[0], setStatus = _a[1]; var _b = useState(null), result = _b[0], setResult = _b[1]; useEffect(function () { var fetchResult = service(); fetchResult.then(function (r) { setResult(r); setStatus('resolved'); }, function (err) { result.current = err; setStatus('error'); }); return function () { setStatus('pending'); setResult(null); }; }, [service]); return { result: result, status: status, loading: status === 'pending' }; } export { useFetch };