code-challenge-nextjs/hooks/use-api-data.ts
2021-05-11 20:35:45 +01:00

16 lines
375 B
TypeScript

import axios from "axios"
import { useEffect, useState } from "react"
export const useApiData = <T>(path: string, defaultValue: any): T => {
const [ data, setData ] = useState<T>(defaultValue)
useEffect(() => {
axios.get<T>(path).catch(err => err.response).then(response => {
setData(response.data)
})
}, [])
return data
}
export default useApiData