| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Android
- 개발
- spring boots
- Next
- JavaScript
- 티스토리챌린지
- React
- 코딩테스트
- 코테
- nginx
- chrome
- kotlin
- docker
- python
- 백준
- TypeScript
- AWS
- NanoHttpd
- Express
- 파이썬
- EC2
- 광고 id
- nuxt
- it
- Jenkins
- css
- toml
- 오블완
- 오퍼월
- react-native
- Today
- Total
내맘대로 개발일지
[IT] addEventListener vs onclick ? ( addEventListener WIN ) 본문
[IT] Tree Shaking ? webPack ?
이번에 20년 가까이 프론트앤드 개발자님과 같이 밥먹으러 걸어가면서 이런저런 이야기를 하는데 나보고 Tree Shaking 을 아냐고 물어봤다. 너무 생소한 단어인데다가 처음 들어봐서 "잘 모르겠다.
8735.tistory.com
이 글에 이어서 .. 나한테 addEventListener 과 onclick 의 차이점을 아냐고 여쭤보셨다.
각각 어떻게 쓰는지를 말씀드렸는데 그게 아니라 DOM 영역에서 어떻게 되는지를 알고 계시냐고 여쭤보셨고,
난 잘 모르겠다고 말씀드렸다. 그러면서 차이점을 설명해주고, 요즘에는 addEventListener 를 더 많이 쓴다고 알려주셨다.
그럼 먼저 onClick 을 살펴보면
DOM 요소의 onclick 속성을 직접 설정하여 클릭 이벤트를 핸들링할 수 있다.
이 방식은 해당 요소에 하나의 클릭 이벤트 핸들러만 설정할 수 있다.
const button = document.getElementById('myButton');
button.onclick = function() {
console.log('Button was clicked!');
};
addEventListener
JavaScript 코드 내에서 addEventListener 메소드를 사용하여 요소에 클릭 이벤트 리스너를 추가할 수 있다.
이 방식은 여러 리스너를 하나의 요소에 추가할 수 있기 때문에 더 유연하다.
const button = document.getElementById('myButton');
button.addEventListener('click', function() {
console.log('Button was clicked!');
});
onClick 은 하나의 요소에 하나의 이벤트만 설정할 수 있는 제약때문에 현대의 웹 개발에서는
addEventListener를 주로 사용하는 추세라고 한다.
그럼 내가 사용하고있는 React 는 함수 여러 개를 설정해도 상관없던데 무슨 차이냐고 물어보려고 하니까 먼저 말씀해주셨는데
합성 이벤트 (Synthetic Events) : React는 실제 DOM 이벤트를 직접 사용하지 않는다.
대신, React는 브라우저 간의 일관성을 유지하기 위해 합성 이벤트라는 래퍼를 사용한다.
이벤트 위임 : React는 DOM 요소마다 이벤트 리스너를 붙이지 않는다. 대신
최상위 레벨에서 단 하나의 이벤트 리스너만 사용하여 이벤트를 처리한다.
이로 인해 메모리 사용량이 줄어들고 더 빠른 이벤트 처리가 가능해진다.
JSX 문법 : React에서는 JSX를 사용하여 이벤트 핸들러를 지정한다.
이러한 성격때문에 addEventListener 과 똑같다 !! 라고는 말할 수 없지만 유사하게 동작하는 이유이다.
다른 개발자님은 나처럼 React 개발을 하고 있는 것도 아니신데 나보다 React 를 더 많이 알고 계시더라.
그러면서 나에게 하시는 말씀이 더 최근에 나온 언어로 개발하는 것도 좋을 수 있지만, 내가 사용하고 있는 언어에 대해서 자세히 알아야한다. 어떤 언어든 사용하기 전에 아니면 사용하면서라도 공식문서는 꼭 읽어봐라.
라고 말씀해주셨다. 틀린말 하나없지만 .. 영문으로 되어있기도 하고 이해하기도 힘들지만 .. 어쩔수있나 .. 개발하려면 열심히 해야지
시작하기 – React
A JavaScript library for building user interfaces
ko.legacy.reactjs.org
'IT' 카테고리의 다른 글
| Android 광고 ID 확인 하는 방법 - ADID 확인 (0) | 2023.12.01 |
|---|---|
| Chrome 주요 단축키 모음 ( Windows, MAC ) (0) | 2023.12.01 |
| [IT] Tree Shaking ? webPack ? (1) | 2023.10.26 |
| [IT] 프라미스(Promise) 란 ? ( async / await ) (0) | 2023.09.04 |
| [IT] Png to favicon 이미지 파비콘으로 만드는 사이트 추천 (0) | 2023.08.22 |