[React-복습] 6. 이벤트 처리
이벤트 처리에 대한 스케치 포스팅이다.
01. 이벤트
리액트에서는 JSX를 사용하여 문자열이 아닌 함수로 이벤트 핸들러를 전달
합니다. return false가 작동하지 않기에 e.preventDefault() 로 이벤트를 제한해야한다.
01-1. 버튼 예제
HTML
<button onclick="activateLasers()">
Activate Lasers
</button>
React 방식
<button onClick={activateLasers}>
Activate Lasers
</button>
01-2. 폼 예제
HTML
<form onsubmit="console.log('You clicked submit.'); return false">
<button type="submit">Submit</button>
</form>
React 방식
function Form() {
function handleSubmit(e) {
e.preventDefault();
console.log('You clicked submit.');
}
return (
<form onSubmit={handleSubmit}>
<button type="submit">Submit</button>
</form>
);
}
React를 사용할 때 DOM 엘리먼트가 생성된 후 리스너를 추가하기 위해 addEventListener를 호출할 필요가 없습니다. 대신, 엘리먼트가 처음 렌더링될 때 리스너를 제공하면 된다.
버블링과 캡처링
- 버블링 : 특정 Element가 이벤트가 발생했을 때 부모로 이벤트로 보내는 것을 말함
- 캡처링 : 부모가 내 자식들 중에 누가 이벤트가 발생했는가 체크하는 과정