유저와 상호작용하는 웹페이지를 위해 반드시 알아야 하는 개념이 있다. 바로 이벤트이다. 화면 상의 요소를 클릭하거나, 스크롤을 하거나, 값을 입력하는 등의 상호작용은 모두 이벤트를 통해 처리된다. 프론트엔드에서 이벤트는 없어서는 안 될 필수적인 존재다. 그런데 이벤트를 공부하다 보면 이벤트의 동작 방식이 생각보다 복잡하다는 사실을 알 수 있다. 이벤트를 잘 다루기 위해서는 이벤트가 어떻게 동작하는지를 이해해야 한다. 이번 포스팅을 통해 이벤트의 동작 방식인 이벤트 전파 및 관련 개념들에 대해 정리하고자 한다. 목차는 다음과 같다. 1. 이벤트 전파 1-1. 이벤트 전파란 1-2. 이벤트 전파가 존재하는 이유 1-3. 이벤트 전파 막는 법 2. 캡처링 2-1. 캡처링이란 2-2. 활용 방법 2-3. 예시 ..
DOM은 프론트엔드 개발을 하다보면 자주 접할 수밖에 없는 개념이다. 화면을 동적으로 조작하기 위해서는 필수적으로 사용해야 하기 때문이다. 그런데 DOM API를 자주 사용하고 있으면서도, DOM이라는 게 무엇인지 구체적으로 와닿지 않는다. 또한 DOM과 함께 Node, Element라는 개념도 등장해 혼란을 가중시킨다. 이번 포스팅에서는 우리에게 가까운 듯 멀게 느껴지는 DOM, Node, Element의 개념을 명확히 정리하고자 한다. 목차는 다음과 같다. 1. DOM 1-1. 정의 1-2. DOM이 생긴 이유 1-3. DOM이 아닌 것 2. Node 2-1. 정의 2-2. 유형 3. Element 3-1. 정의 (웹 프론트엔드에서는 XML이 아닌 HTML을 주로 다루므로 아래에서 XML에 대한 언급..
리액트를 사용하면 컴포넌트가 상태 변화를 감지하도록 하기 위해 별도로 신경 쓸 필요가 없다. 리액트에서 제공하는 useState라는 편리한 도구가 있기 때문이다. setState로 상태를 원하는 대로 수정만 하면 컴포넌트가 변경 사항을 자동으로 *감지한다. *여기서 감지한다는 표현은, 상태 변화가 발생할 때 리렌더를 수행한다는 의미이다. 반면, 바닐라 JS로 SPA를 만들면 상태 변화를 UI에 반영하기 위해 일일이 처리해 주어야 한다. 상태가 변경되었을 때 해당 상태를 보여주고 있는 컴포넌트를 다시 렌더해 주어야 한다. 이 작업이 생각보다 골치 아프다. 안 그래도 이것저것 많은 책임을 맡고 있는 우리의 컴포넌트를 더 복잡하게 만든다. 더군다나, 만약 하나의 상태를 여러 곳에서 보여주고 있다면 로직의 복잡..
- Total
- Today
- Yesterday
- 레벨 1
- 브라우저
- 이벤트 전파
- 엘레강트 오브젝트
- 우아한테크코스
- 자소서
- 객체지향
- 옵저버 패턴
- dom
- next js
- 조영호
- 우테코
- testable
- SEO
- 회고
- 객체지향원칙
- 컴포넌트
- 우테코 6기
- 우아한테크코스 6기
- 레벨2
- 예고르
- 프리코스
- 우테코 프론트엔드
- observer
- 디자인 패턴
- 테스트코드
- 유닛테스트
- next js seo
- 5월2주차
- 프론트엔드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |