Assignment05-Movie-Search/src/hooks/useFetch.js

26 lines
680 B
JavaScript

import axios from "axios";
import { useState, useEffect } from "react";
const useFetch = (url) => {
const [data, setData] = useState({});
const [loading, setLoading] = useState(false)
const [error, setError] = useState({})
useEffect(() => {
const fetch = async () => {
let response;
try {
setLoading(true);
response = await axios.get(url);
setData(response?.data);
setLoading(false);
} catch(error) {
setError(error)
}
};
fetch();
}, [url]);
return { data, loading, error};
};
export default useFetch;