import { useEffect, useState } from 'react'; import api from '../utils/api'; /** * @param {String} url * @param {*} defaultData * @param {String} method * @param {Object} options */ function useAPI(url, defaultData = [], method = "get", options = {}) { const [isLoading, setIsLoading] = useState(true); const [data, setData] = useState(defaultData); const [hasError, setHasError] = useState(false); useEffect(() => { api[method](url, options) .then((result) => { setData(result.data); setIsLoading(false); }) .catch((error) => { setHasError(true); console.error(error); }); }, []); return [isLoading, data, hasError]; } export default useAPI;