[TroubleShooting] onKeyDown, onKeyPress 이벤트 문제
2022. 12. 6. 16:22
🔥 Front-End/TroubleShooting
onKeyDown 이벤트 한글 에러 채팅 기능을 구현하던 중, 채팅을 보내면 채팅의 끝 음절이 한번 더 전송돼 채팅이 두 번씩 전송되는 에러를 발견했다. 영어와 숫자, 특수기호 등을 보내면 정상적으로 전송됐지만, 유독 한글만 전송하면 에러가 발생했다. 구글링을 해보니, onKeyDown 문제였다. onKeyPress를 사용하면 간단히 해결된다는데, onKeyPress는 이미 deprecated된 상태라 쓰기가 싫었다. 좀 더 구글링을 해보니 해결책을 찾았다. 영어, 숫자, 특수기호는 글자 조합이 안 되는 반면 한글은 조합 문자이기에 발생되는 문제였다. 인풋 창에 한글로 onChange가 진행되고 있을때, 글자가 조합 중인지 조합이 끝난 상태인지 컴퓨터가 파악이 안돼 이벤트가 두 번씩 호출되고 있었다. m..