State Management
welaundry의 인증 상태 관리에 대한 관심사 분리를 설명합니다.
useAuthFetch
export const userState = atom<string | undefined>({
key: 'user',
default: undefined,
});
export const useAuthFetch = (): IAuthFetch => {
const [user, setUser] = useRecoilState(userState);
const authService = useRecoilValue(authApi);
const { isLoading } = useQuery(queryKeys.auth.me(), () => authService.me(), {
retry: false,
refetchOnWindowFocus: false,
onSuccess: (data) => {
setUser(data?.data.username);
},
});
return { user, isLoading }
}AuthContext
Last updated