From 607f19b2fc58f7eba91947c7c432125e95af4123 Mon Sep 17 00:00:00 2001 From: dasosann Date: Tue, 24 Feb 2026 15:25:20 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20error=20=EC=B2=98=EB=A6=AC=20=EB=B3=B4?= =?UTF-8?q?=EC=99=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/register/_components/ScreenRegister.tsx | 12 +++++++++++- hooks/useSignUp.ts | 2 +- hooks/useVerifyEmail.ts | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/register/_components/ScreenRegister.tsx b/app/register/_components/ScreenRegister.tsx index c7da289..f67c46c 100644 --- a/app/register/_components/ScreenRegister.tsx +++ b/app/register/_components/ScreenRegister.tsx @@ -3,12 +3,15 @@ import { BackButton } from "@/components/ui/BackButton"; import { useSendEmail } from "@/hooks/useSendEmail"; import { useSignUp } from "@/hooks/useSignUp"; import { useVerifyEmail } from "@/hooks/useVerifyEmail"; +import axios from "axios"; +import { useRouter } from "next/navigation"; import React, { useState } from "react"; import { EmailStep } from "./EmailStep"; import { VerificationStep } from "./VerificationStep"; import { PasswordStep } from "./PasswordStep"; export const ScreenRegister = () => { + const router = useRouter(); const [step, setStep] = useState<1 | 2 | 3>(1); const [email, setEmail] = useState(""); const [verificationCode, setVerificationCode] = useState(""); @@ -47,7 +50,14 @@ export const ScreenRegister = () => { alert("회원가입에 실패했습니다. 다시 시도해주세요."); } }, - onError: () => alert("회원가입에 실패했습니다. 다시 시도해주세요."), + onError: (error) => { + const message = + axios.isAxiosError(error) && error.response?.data?.message + ? error.response.data.message + : "회원가입에 실패했습니다. 다시 시도해주세요."; + alert(message); + router.replace("/login"); + }, }, ); }; diff --git a/hooks/useSignUp.ts b/hooks/useSignUp.ts index 639d8bc..dc69733 100644 --- a/hooks/useSignUp.ts +++ b/hooks/useSignUp.ts @@ -20,6 +20,6 @@ const signUp = async (payload: SignUpRequest): Promise => { export const useSignUp = () => { return useMutation({ mutationFn: signUp, - retry: 1, + retry: false, }); }; diff --git a/hooks/useVerifyEmail.ts b/hooks/useVerifyEmail.ts index 8f5e77d..a8608dc 100644 --- a/hooks/useVerifyEmail.ts +++ b/hooks/useVerifyEmail.ts @@ -26,7 +26,7 @@ const verifyEmail = async ( export const useVerifyEmail = () => { const mutation = useMutation({ mutationFn: verifyEmail, - retry: 1, + retry: false, }); const verify = (