React에서 상호작용 추가하기: 이벤트 핸들링과 상태 관리

2025. 2. 16. 20:47·React
728x90

React는 동적인 웹 애플리케이션을 쉽게 만들 수 있도록 돕는 라이브러리입니다. 이번 글에서는 React에서 상호작용을 추가하는 방법을 살펴보겠습니다. 버튼 클릭, 입력 필드 값 변경 등 사용자와의 상호작용을 처리하는 방법을 배워보겠습니다.


1. 이벤트 핸들링 (Handling Events)

React에서는 이벤트를 처리하기 위해 이벤트 핸들러(Event Handler) 를 사용합니다. 예를 들어, 버튼 클릭 이벤트를 처리하는 방법을 살펴보겠습니다.

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

  return (
    <button onClick={handleClick}>
      클릭하세요
    </button>
  );
}

코드 설명

  • onClick 속성에 handleClick 함수를 전달하여 버튼이 클릭될 때 실행되도록 설정합니다.
  • 버튼을 클릭하면 alert('버튼이 클릭되었습니다!')가 실행됩니다.

2. 상태(state) 관리

React에서 UI를 동적으로 변경하려면 상태(state) 를 사용해야 합니다. useState 훅을 활용하면 쉽게 상태를 관리할 수 있습니다.

버튼 클릭 시 숫자가 증가하는 예제

import { useState } from 'react';

export default function Counter() {
  const [count, setCount] = useState(0);

  function handleClick() {
    setCount(count + 1);
  }

  return (
    <div>
      <p>현재 숫자: {count}</p>
      <button onClick={handleClick}>
        증가하기
      </button>
    </div>
  );
}

 코드 설명

  • useState(0)을 사용하여 count 상태를 0으로 초기화합니다.
  • setCount(count + 1)을 호출하면 count 값이 1씩 증가합니다.
  • 버튼을 클릭할 때마다 화면이 업데이트되면서 숫자가 증가하는 걸 확인할 수 있습니다.

3. 이벤트 핸들러 함수 전달하기

이벤트 핸들러를 부모 컴포넌트에서 자식 컴포넌트로 전달할 수도 있습니다.

function Button({ onClick }) {
  return (
    <button onClick={onClick}>
      클릭하세요
    </button>
  );
}

export default function App() {
  function handleClick() {
    alert('부모에서 전달한 함수가 실행됨!');
  }

  return <Button onClick={handleClick} />;
}

코드 설명

  • App 컴포넌트에서 handleClick 함수를 정의하고, 이를 Button 컴포넌트의 onClick 속성으로 전달합니다.
  • Button 컴포넌트 내부에서 onClick을 실행하면 부모에서 전달한 함수가 실행됩니다.

4. 입력 필드와 상태 연결하기

입력 필드의 값을 상태와 연결하면, 사용자가 입력한 데이터가 실시간으로 반영됩니다.

import { useState } from 'react';

export default function TextInput() {
  const [text, setText] = useState('');

  function handleChange(event) {
    setText(event.target.value);
  }

  return (
    <div>
      <input
        type="text"
        value={text}
        onChange={handleChange}
      />
      <p>입력한 값: {text}</p>
    </div>
  );
}
📌 코드 설명
  • useState('')을 사용하여 text 상태를 관리합니다.
  • input 태그의 value 속성을 text 상태와 연결하여 입력한 값이 즉시 반영되도록 합니다.
  • onChange 이벤트가 발생하면 setText(event.target.value)를 통해 상태가 업데이트됩니다.

정리

이벤트 핸들링: onClick, onChange 등의 속성을 사용하여 이벤트를 처리할 수 있습니다.
상태 관리: useState를 사용하면 React 컴포넌트의 상태를 쉽게 저장하고 변경할 수 있습니다.
이벤트 핸들러 전달: 부모 컴포넌트에서 자식 컴포넌트로 함수를 전달하여 재사용할 수 있습니다.
입력 필드 제어: input 태그와 useState를 연결하여 실시간으로 입력값을 반영할 수 있습니다.

728x90
LIST

'React' 카테고리의 다른 글

React의 렌더링과 커밋 과정: 개념부터 이해하기  (4) 2025.02.23
React 상태(State)란 무엇인가?  (0) 2025.02.22
React에서 이벤트 처리하기  (1) 2025.02.21
React 깨끗하고 유지보수하기 쉬운 코드 작성법  (2) 2025.02.16
React에서 export default function vs export function 차이점  (0) 2025.02.16
'React' 카테고리의 다른 글
  • React 상태(State)란 무엇인가?
  • React에서 이벤트 처리하기
  • React 깨끗하고 유지보수하기 쉬운 코드 작성법
  • React에서 export default function vs export function 차이점
Mr. Joo
Mr. Joo
  • Mr. Joo
    삽질의 시작
    Mr. Joo
  • 전체
    오늘
    어제
    • 분류 전체보기 (197) N
      • Flutter (69)
      • Android (9)
      • Swift (4)
      • React (11)
      • 인공지능 (4)
      • CS (10)
      • 개발 뉴스 (87) N
      • IT 기기 (1)
      • 알면 유용한 정보 (2)
  • 인기 글

  • 태그

    뉴스 모음
    오늘의 이슈
    앱 개발
    Flutter
    android
    개발
    플러터
    기술 뉴스
    Dart 기초
    앱개발
    기술
    개발 이슈
    앱
    이슈
    DART
    react
    개발 뉴스
    뉴스
    오늘의 뉴스
    Flutter 기초
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
Mr. Joo
React에서 상호작용 추가하기: 이벤트 핸들링과 상태 관리
상단으로

티스토리툴바