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