-
이벤트 버블링 막기project/main 2023. 3. 28. 19:55
모달창을 직접 만들어서 사용할 때 모달창 내부를 클릭하면 닫히는 현상볼수 있다. 이 현상을 막기 위해서 보통 event.stopPropagation()을 모달창 onClick을 핸들링하는 함수에 넣어준다.
const handleTagSearchOpen = (e: React.MouseEvent<HTMLButtonElement>) => { e.stopPropagation(); // 이벤트 버블링 막기 setSearchOpen((prev) => !prev); };
위와 같이 작성하면 부모 컴포넌트에 있는 onClick 이벤트가 작동하는 것을 막을 수 있다. 내가 참고한 모던 자바스크립트 튜토리얼(https://ko.javascript.info/bubbling-and-capturing#ref-868)에 보면 이벤트 버블링은 왠만하면 막지말라고 이야기 하고있다. 진짜 막아야하는 상황에만 막으라고 주의를 주고있다.
'project > main' 카테고리의 다른 글
메인 프로젝트 회고 (0) 2023.04.04 Toast UI Viewer 내용이 바뀌지 않는 현상 (1) 2023.03.29 Localstorage 안의 데이터 삭제 (0) 2023.03.27 무한 스크롤 또 또 에러 (0) 2023.03.26 무한 스크롤 또 에러 (0) 2023.03.25