This repository has been archived on 2025-05-09. You can view files and clone it, but cannot push or open issues or pull requests.
2021-09-13 09:26:13 +03:00

29 lines
612 B
JavaScript

import { useEffect, useState } from 'react';
export const useFetch = ({ fetchData }) => {
const [response, setResponse] = useState();
const [error, setError] = useState();
const [isLoading, setIsLoading] = useState(false);
function fetch() {
setError(false);
setResponse(undefined);
setIsLoading(true);
fetchData()
.then(res => {
setResponse(res);
})
.catch(err => {
setError(err);
})
.finally(() => {
setIsLoading(false);
});
}
useEffect(() => {
fetch();
}, []);
return { response, isLoading, error, fetch };
};