Input
태그에서 빠져나갈때 바로 '닉네임 중복확인' 을 하는 함수가 동작하면 좋겠다고 생각이 들었습니다.중복확인 구현 전,
중복확인 구현 후,
const onBlurNickname = async () => {
try {
await axios.post('/api/auth/nickname', {
nickname: editNickname,
});
} catch (error) {
const customError = error as IError;
switch (customError.response.data.status) {
case 400:
alert('닉네임은 최소 1글자, 최대 7글자, 자음, 모음 불가입니다');
break;
case 409:
alert('죄송합니다 중복된 닉네임이네요 😭');
break;
default:
alert('알 수 없는 오류가 발생했습니다 다시 시도해 주세요 😭');
}
}
};
catch(error)
의 error
를 이용하여 응답 상태코드에 따라 알림문을 다르게 유저에게 보여주려고 했습니다.error
는 무조건 unknown
혹은 any
여야만 한다는 에러가 출력되었습니다.as
문을 사용하여 타입을 지정해주어야 합니다.(data | null)
이런식으로 처리하거나 if(error) ...
처럼 수동으로 처리해주면 해결되었었는데 아예 unknown
이나 any
여야만 한다고 지정된 타입이 있는 것은 처음 봐서 낯설었습니다.as
문의 사용, 강제 지정된 type 등의 처리법을 적용하며 공부해볼 수 있어서 좋았습니다