- onBlur가 뭐냐면
onBlur는 쉽게 말해서 인풋이나 textarea 등 입력창에서 포커스가 빠져나가는 순간! 실행되는 이벤트다.
예를 들어 이메일 입력창에 커서 두고 입력하다가 다른 곳 클릭하거나 tab으로 넘어가면 그때 onBlur가 실행된다.
- onBlur를 쓰는 이유
개발을 하다보면 form 작성에서는 유효성 검사가 필수적이다.(이메일, 전화번호, 닉네임 등등등,,,)
특히 사용자가 입력 중에 방해하지 않고, 입력을 마친 시점에 유효성 검사를 하고 싶을 떄 onBlur가 굉장히 유용하다.
- onChange랑 다른 점
대부분 처음에는 onChange만 쓰게 된다. 나도 그랬다,, 근데 이건 입력값이 바뀔 때마다 실행된다.
즉, 한글자 한글자 칠 때마다 검사를 떄리는 실시간 검사이다 !
- onChange: 사용자가 @까지도 안 친 상태에서도 계속 형식 잘못되었다고 설레발 느낌
- onBlur: 입력을 다 끝내고 마우스가 빠질 때 검사 → 사용자 입장에서는 훨씬 덜 귀찮음
내가 사용한 예시 !
<input
id="email"
type="email"
value={email}
onChange={(e) => setEmail(e.target.value)}
onBlur={handleEmailError}
placeholder="이메일"
/>
{emailError && <p className="text-red-500">{emailError}</p>}
즉, 결론은 유효성 검사할 때
- 사용자가 입력을 다 끝내고 나서 피드백을 주고 싶을 때
- 에러 메시지를 불필요하게 자주 보여주고 싶지 않을 때
사용하면 너무 좋을 듯 하댜!!!
'리액트' 카테고리의 다른 글
리액트의 key 속성이 중요한 이유 (0) | 2025.05.08 |
---|---|
SSR이 검색엔진에 더 잘 보이는 이유 (0) | 2025.04.23 |
부모 와 자식에서 같은 데이터를 쓸 때 (0) | 2025.01.17 |
[네이버지도] 새로고침 해야만 지도가 뜨는 이슈,, (0) | 2024.12.16 |
리액트를 들어가며,,생명주기,Props, 가상돔, state (0) | 2023.04.16 |