2021.05.19 데일리 회고

천영석·2021년 5월 19일
0

오늘은 푹 쉬었다. 어제 새벽까지 해서 늦게 일어나기도 했고, 내일부터 미션이 시작이라서 에너지도 회복할 겸 빡세게 공부하지 않았다. 그래서 하브루타 준비도 하지 못했다.ㅜㅜ

현재 학습로그 프로젝트를 하면서 에디터를 개발하고 있는데, 에디터 개발이 정말 어렵다. 별 거 없을 것 같았고, 실제로도 이미지를 받지는 않을 것이기 때문에 큰 기능은 없다. 하지만 예상치도 못한 곳에서 버그가 계속 튀어나온다. 아직 파싱해서 서버로 보내는 작업은 하지도 않았는데... 큰일이다.

지난 번에 한 번은 에디터에 글을 작성할 때마다 focus가 풀려서 문제가 됐던 적이 있다. 제어 컴포넌트를 사용하고 있어서 인풋에 value가 set될 때마다 리렌더링을 해서 그런 것이라고 생각하면서도 지금까지 제어 컴포넌트를 사용할 땐 그러지 않았는데??? 라는 의문이 들었다. 정말 오랫동안 버그를 찾다가 결국 map을 돌 때 새로운 key값을 줘서 다시 리렌더링을 하면서 unmount돼서 나타난 문제였다. 하아.... key 때문에 4시간 정도를 보냈다.

그리고 어제 발견한 문제는 window에서만 발생하는 것 같은데, 글을 작성하다가 스크롤을 내리고 다른 곳을 클릭하면 작성하던 곳으로 스크롤이 이동되는 버그가 있었다. 정말 어떻게 해결해야 할지 감이 오질 않았다. 문제의 원인은 한글 때문인데, 한글을 작성하게 되면 조합이 완료될 때까지 isComposing이 true이다. 완료되지 않은 상태인데 다른 곳을 클릭해서 focus가 자동으로 되는 것 같다. (확실하지 않다.) 이것저것 방법을 시도해보다가 결국 입력하던 곳 기준으로 스크롤을 해서 보이지 않게 되면 강제로 blur을 하는 방법을 택했다. 사용자 경험 측면으로 볼 때 좋은 방법은 아닌 것 같지만 나의 능력으로는 어쩔 수 없다. 안타깝지만 이대로 유지해야 할 것 같다.

지금 있는 문제는 어떤 상황인지 잘 모르겠지만 글의 본문이 set이 되지 않을 때가 있다. 어느 상황에서 발생하는 것인지도 파악하기가 힘들어서.. 그냥 비제어 컴포넌트로 가야될 것 같다는 생각도 하고 있다.

profile
느려도 꾸준히 발전하려고 노력하는 사람입니다.

0개의 댓글