본문 바로가기

Aaron[에런]/Trouble Shootings14

[Trouble Shootings #2] React - 여러 이벤트 간의 관계 (feat. stopPropagation) 오늘 회사에서 작업을 하다가 구글링을 통해 잊어버렸던 JS 개념을 활용해 해결하였습니다. 사전에 퍼블리싱한 버튼이 있었는데 outer container에 button 클릭 이벤트 핸들러가 있고 그리고 position: absolute; 로 설정한 -, + 버튼이 각각 왼쪽과 오른쪽 끝에 붙어 있었습니다. 한 곳에 총 3개의 버튼이 있고 각각 3개의 이벤트 핸들러가 걸려 있어서 이벤트 버블링이 일어나면서 중복 발생하기도 하였습니다. 순서가 꼬이는 경우도 가끔 발생하여 이런 이슈를 어떻게 해결할지 구글링을 하였습니다. 사전에 이와 같은 방식으로 html, css 퍼블리싱을 하지 않았더라면 좀 더 나았을 것 같기도 한데 우선 해결이 필요합니다. 끝내 찾은건 event.currentTarget.stopPropa.. 2022. 9. 20.
[Trouble Shootings #1] React - 콜백 함수 내부에서 여러 setState 함수 호출 시 업데이트 순서 에러 얼마 전 회사에서 작업을 하다가 onClick 같은 이벤트 핸들러 (콜백 함수) 내부에서 두 가지의 setState (setter) 함수를 호출시키는 작업을 했던 적이 있습니다. 사실 함수는 하나의 일만 수행하는 것이 기본적인 원칙이라 많이 들어서 제가 올바르게 코딩을 한 것 같지는 않았습니다. 하지만 의식의 흐름대로 하다 보니깐 그런 작업이 일어났는데 업데이트 순서에 대한 에러가 발생하였습니다. 아무래도 당연한 것이 useState 훅으로부터 반환되는 setter 함수는 비동기적으로 발생하는 것으로 알고 있습니다. 그래서 업데이트 순서가 제 생각대로 올바르게 동기식으로 이뤄지지 않는 것입니다. 구글링 해본 결과 즉시 실행 함수를 이용해서 각각 호출하면 된다 라고 하였지만 제 경우는 해결이 안되었습니다... 2022. 9. 17.
반응형