import { useState, useEffect } from 'react'
const useApi = (apiFunction) => {
const [data, setData] = useState(null)
const [loading, setLoading] = useState(null)
const [error, setErrot] = useState(null)
const fetchData = async () => {
setLoading(true)
try {
const result = await apiFunction()
setData(result)
} catch(err) {
setLoading(false)
setError(err)
}
}
useEffect(() => {
fetchData()
}, [fetchData])
return {data, loading, error }
}