error handling

이승민·2021년 11월 6일
0
post-custom-banner
import { ErrorCode } from "src/types";
import { errorStatus } from "src/recoils/atoms/error";
import { setRecoil } from "recoil-nexus";

export default function handleErrors(errorCode: number) {
  switch (errorCode) {
    case ErrorCode.not_authorized_signin:
      return setRecoil(errorStatus, {
        errorState: true,
        errorMsg: "아이디와 비밀번호가 일치하지 않습니다.",
      });
    case ErrorCode.not_enter_id_signin:
      return setRecoil(errorStatus, {
        errorState: true,
        errorMsg: "아이디와 비밀번호를 입력해주세요.",
      });
    case ErrorCode.not_exist_pw_signin:
      return setRecoil(errorStatus, {
        errorState: true,
        errorMsg: "아이디와 비밀번호를 입력해주세요.",
      });
    case ErrorCode.not_enter_pw_signin:
      return setRecoil(errorStatus, {
        errorState: true,
        errorMsg: "아이디와 비밀번호를 입력해주세요.",
      });
    case ErrorCode.not_exist_id_signin:
      return setRecoil(errorStatus, {
        errorState: true,
        errorMsg: "아이디와 비밀번호를 입력해주세요.",
      });
    default:
      throw Error;
  }
}

에러 팝업을 띄우기 위한 에러 처리 로직 (로그인시)
default 로 Error를 던져 예상하지 못한 에러는 error boundary에서 처리되도록 함
react-query를 사용해서 refactoring 예정

profile
프론트 앤드 개발자를 꿈꿉니다.
post-custom-banner

0개의 댓글