<aside> 📎
</aside>
화면 기록 2024-11-14 오전 12.34.32.mov
아마 블록을 만드는 이벤트 자체가 2번 호출될 것이다.
enter 이벤트 핸들러부분에 로그를 찍어보니 2번이 나왔다.
한글은 영어와 달리 조합문자이다 ('ㅇ' → 'ㅏ' → 'ㄴ’)
조합문자의 경우 키보드로 텍스트를 입력하기 어렵기에, IME(Input Method Editor) 이라는 소프트웨어를 사용한다.
그래서 만약 한글을 입력하면 IME가 입력 중임을 나타내는 isComposing 상태가 된다.
입력값과 isComposing을 출력해봤다.
영어의 경우, 계속 isComposing은 false이다
한글의 경우, 2가지를 테스트해봤다.
자음만 계속 입력하는 경우, (”ㅁㄴㅇㅁㄴㅇ”)
자음 + 모음 조합으로 입력하는 경우 (”밥”)
즉, 한글의 경우 글자 하나를 입력하고 다른 입력이 들어오는 순간 isComposing 상태가 된다.
Enter
Enter
를 누르면, IME는 Enter
를 한글로 인식하여 하나의 글자로 처리한다.IsComposing이 동작하는 원리가 어떻게 될까?
기본적으로 조합문자의 경우, 이벤트가 compositionstart
compositionupdate
compositionend
3단계로 나뉜다.