diff --git a/src/components/API/useLoad.js b/src/components/API/useLoad.js new file mode 100644 index 0000000..d4ec896 --- /dev/null +++ b/src/components/API/useLoad.js @@ -0,0 +1,28 @@ +import {useEffect, useState} from "react"; +import API from "./API"; + + +const useLoad = (loadEndpoint) => { + + // State ---------------------- + + const [records, setRecords] = useState([]); + const [isLoading, setIsLoading] = useState(true); + + // Loader ---------------------- + const loadRecords = async (endpoint) => { + const response = await API.get(endpoint); + setIsLoading(false); + if (response.isSuccess) setRecords(response.result); + }; + + useEffect(() => { + loadRecords(loadEndpoint); + }, []); + + // return ---------------------- + + return[records, setRecords, isLoading, loadRecords]; +}; + +export default useLoad; \ No newline at end of file