forked from VinokurovVE/tests
routing and fetching data
This commit is contained in:
20
frontend_reactjs/src/components/FetchingData.ts
Normal file
20
frontend_reactjs/src/components/FetchingData.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import { useState, useEffect, useMemo } from 'react';
|
||||
export function useDataFetching<T> (url:string, initData:T):T{
|
||||
const [data, setData] = useState<T>(initData);
|
||||
|
||||
useEffect(() => {
|
||||
const fetchData = async () => {
|
||||
const response = await fetch(url);
|
||||
const result = await response.json();
|
||||
setData(result);
|
||||
};
|
||||
|
||||
fetchData();
|
||||
}, [url]);
|
||||
console.log(data)
|
||||
// Memoize the data value
|
||||
const memoizedData = useMemo<T>(() => data, [data]);
|
||||
return memoizedData;
|
||||
};
|
||||
|
||||
export default useDataFetching;
|
Reference in New Issue
Block a user