출처) 리팩터링-위키백과
{alertModal ? (
passId == true ? (
<AlertModal
closeAlertModal={closeAlertModal}
messages={passIDMessage}
/>
) : (
<AlertModal
closeAlertModal={closeAlertModal}
messages={failpassIdMessage}
/>
)
) : (
<></>
)}
{alertModal ? (
tryCheckId === 'none' ? (
<AlertModal closeAlertModal={closeAlertModal} messages={tryIdCheck} />
) : (
<></>
)
) : (
<></>
)}
{alertModal ? (
success == '성공' ? (
<AlertModal
closeAlertModal={closeAlertModal}
messages={successJoin}
/>
) : (
<></>
)
) : (
<></>
)}
{alertModal ? (
success == '실패' ? (
<AlertModal closeAlertModal={closeAlertModal} messages={failJoin} />
) : (
<></>
)
) : (
<></>
)}
{alertModal ? (
success == '전화번호오류' ? (
<AlertModal
closeAlertModal={closeAlertModal}
messages={checkPhoneNum}
/>
) : (
<></>
)
) : (
<></>
)}
const showAlert = () => {
if (tryCheckId === 'none') {
return (
<AlertModal closeAlertModal={closeAlertModal} messages={tryIdCheck} />
);
} else if (passId === '아이디 통과') {
return (
<AlertModal
closeAlertModal={closeAlertModal}
messages={passIDMessage}
/>
);
} else if (passId === '아이디 중복') {
return (
<AlertModal
closeAlertModal={closeAlertModal}
messages={failpassIdMessage}
/>
);
} else if (success === '성공') {
return (
<AlertModal closeAlertModal={closeAlertModal} messages={successJoin} />
);
} else if (success === '실패') {
return (
<AlertModal closeAlertModal={closeAlertModal} messages={failJoin} />
);
} else if (success === '전화번호오류') {
return (
<AlertModal
closeAlertModal={closeAlertModal}
messages={checkPhoneNum}
/>
);
}
};
AlertModal은 알림창 컴포넌트이다. 리팩토링 하면서 전보다 훨씬 낫다! 라고는 생각했지만, 지금 블로그를 쓰면서 다시 보니 가독성..은 여전히 갈 길이 먼 것 같다.
AlertModal 컴포넌트 로직을 다시 짜서 조금 더 사용하기 쉽고 간결한 컴포넌트로 바꾸는것부터 해야할 것 같다.
!checkPassAgainRegex ? (
checkPass.length > 0 ? (
<p className={css.warning}>
비밀번호는 영문,숫자,특수기호 중 2가지 이상 조합하여 10자리
이상 16자리 이하 입니다.
</p>
{!checkPassRegex && pass.length > 0 && (
<p className={css.warning}>
비밀번호는 영문,숫자,특수기호 중 2가지 이상 조합하여 10자리
이상 16자리 이하 입니다.
</p>
)}
과거의 나는 삼항연산자를 중첩해서 사용하는걸 좋아했나보다🤣
지금이라도 알게되어서 정말 다행이라고 생각한다.
앞으로는 삼항연산자를 사용할 때 조금 더 신경을 써야겠다.
삼항연산자 중독자시군요 +.+