Files
universal_is/frontend_reactjs/src/components/FetchingData.ts
2024-06-24 17:06:41 +09:00

21 lines
594 B
TypeScript

import { useState, useEffect, useMemo } from 'react';
import axiosInstance from '../http/axiosInstance';
export function useDataFetching<T>(url: string, initData: T): T {
const [data, setData] = useState<T>(initData);
useEffect(() => {
const fetchData = async () => {
const response = await axiosInstance.get(url);
const result = await response.data;
setData(result);
};
fetchData();
}, [url]);
console.log(data)
// Memoize the data value
const memoizedData = useMemo<T>(() => data, [data]);
return memoizedData;
};
export default useDataFetching;