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

19 lines
626 B
TypeScript

import { memo, useEffect, useMemo, useState } from "react";
import UserService from "../services/UserService";
import AuthService from "../services/AuthService";
export default function useUserData<T>(token: string, initData: T): T {
const [userData, setUserData] = useState<T>(initData)
useEffect(()=> {
const fetchUserData = async (token: string) => {
const response = await AuthService.getCurrentUser(token)
setUserData(response.data)
}
fetchUserData(token)
}, [token])
const memoizedData = useMemo<T>(() => userData, [userData])
return memoizedData
}