일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- createbrowserrouter
- unstable_nostore
- @tailwind utility
- client components
- commit phase
- SSR
- iron-session
- supabase realtime
- render phase
- static pages
- @tailwind components
- dynamic pages
- sever action
- server components
- 리액트
- interceptor routes
- RECOIL
- 3진법 뒤집기
- CSS
- js
- 자바스크립트
- sever components
- image component
- 클로저
- 타입스크립트
- @tailwind base
- 프로그래머스
- revalidatetag
- @tailwind
- revalidatepath
Archives
- Today
- Total
개발하는 너구리
TIL-24.04.25 본문
문제점
이벤트 버블링
이벤트 버블링에 대해서 다시 한번 생각해보려한다. 일단, 이벤트 버블링이란 내부요소에서 발생한 이벤트가 부모요소에까지 이벤트가 전달되는현상이다. 상속관계에 따라서 이벤트가 계속 전파되는 현상을 말한다.
그동안 이벤트버블링으로 인해 원치않는 이벤트가 실제로 이벤트가 발생하지 않은 곳에서 발생하는것이 싫어 대부분 stopPropagation( ),
혹은 애초에 그 곳에서만 이벤트가 발생할수 있게 stopImmediatePropagation( ) 등의 메소드를 사용해 버블링 자체를 막아버리곤했다.
오늘도 여전히 해당 메소드를 사용해 이벤트 버블링을 막고있던차에 문뜩 다른 생각이 들었다.
자식요소에서 발생한 이벤트를 상위요소에서 무조건 막아야하나? 이 이벤트를 이용해서 부모요소에서도 효율적으로 이용할수 있는거아닌가? 라는 생각말이다.
일단은 생각을 고쳐먹기로했다. 버블링되는 이벤트를 근원점에서 무조건 막지말고 , 해당이벤트가 필요없는 상위요소에서 조건을 걸어 막기로.
예를 들어 이런식으로
if(event.target !== event.currentTarget) {
return;
}
필요가 없는 곳에서 조건을 걸어 막기로했다.
버블링되는 이벤트를 어떻게 사용할지는 차차 상황이 오면 고민해보려한다. 코딩을 하는데 반드시 정답이라는 것은 없다고 생각한다.
이벤트버블링을 일단 막아놓는 많은 코드들을 봐왔지만, 나는 이걸 조금은 다르게 생각해보려한다. 고민하다보면 더 좋은 방향으로 내가 코딩을 하겠지...
알게된점
관습적으로 일단 써내려가는 코드들을 한번쯤 의심해보려한다.
'TIL' 카테고리의 다른 글
TIL-24.04.29 (0) | 2024.04.29 |
---|---|
TIL-24.04.26 (0) | 2024.04.26 |
TIL-24.04.24 (0) | 2024.04.24 |
TIL-24.04.23 (0) | 2024.04.23 |
TIL-24.04.22 (0) | 2024.04.22 |