본문 바로가기
Programming

React 이벤트 처리 (Event Handling)

by 나무수피아는 지식의 가지를 뻗어가는 공간입니다. 2025. 10. 21.
반응형

🎯 이벤트 처리 (Event Handling)

React에서는 HTML의 DOM 이벤트 처리 방식과 유사하지만, 몇 가지 중요한 차이가 있습니다. 이 강좌에서는 onClick, onChange 같은 대표적인 이벤트를 예제로 설명합니다.

⚙️ 기본 이벤트 처리 방법

HTML과는 달리 이벤트 속성 이름이 카멜 케이스이며, 문자열이 아닌 함수를 전달해야 합니다.

function ClickButton() {
  function handleClick() {
    alert('버튼이 클릭되었습니다!');
  }

  return <button onClick={handleClick}>클릭해보세요</button>;
}
  

🖋️ 이벤트 객체(Event Object)

React에서도 event 객체가 인자로 전달되며, 기본 이벤트를 막거나 세부 정보 접근이 가능합니다.

function FormSubmit() {
  function handleSubmit(e) {
    e.preventDefault(); // 기본 제출 동작 방지
    alert('폼이 제출되었습니다!');
  }

  return (
    <form onSubmit={handleSubmit}>
      <button type="submit">제출하기</button>
    </form>
  );
}
  

🎯 주요 이벤트 예제

📌 입력 필드(onChange)

import { useState } from 'react';

function InputField() {
  const [value, setValue] = useState('');

  function handleChange(e) {
    setValue(e.target.value);
  }

  return (
    <div>
      <input type="text" onChange={handleChange} />
      <p>입력값: {value}</p>
    </div>
  );
}
  

📌 마우스 이벤트(onMouseEnter)

function HoverBox() {
  function handleMouseEnter() {
    console.log('마우스가 올라갔습니다!');
  }

  return <div onMouseEnter={handleMouseEnter} style={{padding:'10px', border:'1px solid #ccc'}}>
    마우스를 올려보세요
  </div>;
}
  

💡 팁: 함수 전달 시 주의점

이벤트 핸들러에 함수를 전달할 때 ()를 붙이면 즉시 실행되므로, 참조만 전달하도록 작성해야 합니다.

// 잘못된 예: 실행되어버림!
<button onClick={handleClick()}>버튼</button>

// 올바른 예:
<button onClick={handleClick}>버튼</button>
  

 

반응형

'Programming' 카테고리의 다른 글

React 조건부 렌더링 (Conditional Rendering)  (67) 2025.10.23
React 리스트 렌더링 (List Rendering)  (57) 2025.10.22
React Props와 State  (73) 2025.10.20
React 컴포넌트 생성과 구조  (64) 2025.10.19
React JSX 문법  (61) 2025.10.18