Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 14x 14x 14x 14x 14x 14x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 14x 14x 14x | 'use client';
import { useRouter } from 'next/navigation';
import { useQueryClient } from '@tanstack/react-query';
import { API } from '@/api';
import { userKeys } from '@/lib/query-key/query-key-user';
import { useAuth } from '@/providers';
export const useLogout = () => {
const router = useRouter();
const queryClient = useQueryClient();
const { setIsAuthenticated } = useAuth();
const handleLogout = async () => {
try {
await API.authService.logout();
} catch (error) {
console.error('[LOGOUT ERROR]', error);
} finally {
// 로그인 유저 관련 캐시 정리
queryClient.removeQueries({ queryKey: userKeys.all });
setIsAuthenticated(false);
router.push('/');
}
};
return handleLogout;
};
|