diff --git a/src/hooks/useTokenCheckRedirect.tsx b/src/hooks/useTokenCheckRedirect.tsx index 561f8a0d..614b2c66 100644 --- a/src/hooks/useTokenCheckRedirect.tsx +++ b/src/hooks/useTokenCheckRedirect.tsx @@ -5,7 +5,7 @@ import { useRouter } from 'next/router'; import { checkToken } from '@/api/auth'; -const useTokenCheck = () => { +const useTokenCheckRedirect = () => { const router = useRouter(); const { data: tokenData, isLoading } = useQuery({ @@ -23,4 +23,4 @@ const useTokenCheck = () => { return { isLoading, tokenData }; }; -export default useTokenCheck; +export default useTokenCheckRedirect; diff --git a/src/pages/signin/index.tsx b/src/pages/signin/index.tsx index 432cbe3e..5b640a00 100644 --- a/src/pages/signin/index.tsx +++ b/src/pages/signin/index.tsx @@ -44,9 +44,8 @@ const SignIn = () => { const { handleSubmit, - clearErrors, setError, - formState: { errors, isValid }, + formState: { isValid }, } = methods; const loginMutation = useMutation({ @@ -55,12 +54,15 @@ const SignIn = () => { userMutation.mutate(); }, onError: (error) => { - if (error.response?.status === 400) { - // 로그인 오류인 경우 공통 에러 메시지 - setError('root', { message: '이메일 혹은 비밀번호를 확인해주세요' }); - } else { - // API 에러를 모달로 출력 - handleError(error.response?.data as Error); + const err = error as AxiosError<{ message?: string }>; + const status = err.response?.status; + + switch (status) { + case 400: + setError('email', { message: '이메일 혹은 비밀번호를 확인해주세요' }); + break; + default: + handleError(error.response?.data as Error); } }, }); @@ -105,15 +107,7 @@ const SignIn = () => { {/* 이메일 */}
- { - clearErrors('root'); - }} - /> +
{/* 비밀번호 */}
@@ -123,16 +117,10 @@ const SignIn = () => { id='password' name='password' placeholder='영문, 숫자, 특수문자(!@#$%^&*) 제한' - onChange={() => { - clearErrors('root'); - }} />
- {/* 로그인 오류 출력 */} - {errors.root &&

{errors.root.message}

} -
- {/* 회원가입 오류 출력 */} - {errors.root &&

{errors.root.message}

}