[javascript] 리액트에서 컴포넌트 간의 통신 방법: 부모 자식 간 props 전달, 컴포넌트 이벤트 핸들링 등

리액트 애플리케이션 내에서 컴포넌트들은 종종 서로 상호작용해야 합니다. 이를 위한 주요 방법으로는 부모 자식 간 props 전달컴포넌트 이벤트 핸들링이 있습니다. 이 블로그에서는 이러한 리액트 컴포넌트 간의 통신 방법에 대해 자세히 알아보겠습니다.

목차

부모 자식 간 props 전달

부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달하는 가장 일반적인 방법은 props를 사용하는 것입니다. 부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달하기 위해 props를 설정하고, 자식 컴포넌트에서는 해당 props를 사용하여 전달된 데이터에 접근할 수 있습니다.

예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

// 부모 컴포넌트
function ParentComponent() {
  const data = "전달할 데이터";
  return <ChildComponent data={data} />;
}

// 자식 컴포넌트
function ChildComponent({ data }) {
  return <div>{data}</div>;
}

위 예제에서 ParentComponent에서 ChildComponentdata라는 props를 통해 데이터를 전달하고, ChildComponent에서는 해당 데이터를 화면에 표시합니다.

컴포넌트 이벤트 핸들링

리액트에서 이벤트 핸들링은 컴포넌트 간의 통신을 위한 또 다른 중요한 방법입니다. 부모 컴포넌트에서 자식 컴포넌트로 이벤트 콜백 함수를 props로 전달하고, 자식 컴포넌트에서 해당 이벤트를 발생시키면, 부모 컴포넌트에서 정의된 콜백 함수가 호출됩니다.

예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

// 부모 컴포넌트
function ParentComponent() {
  function handleEvent() {
    // 이벤트 처리 로직
  }

  return <ChildComponent onEvent={handleEvent} />;
}

// 자식 컴포넌트
function ChildComponent({ onEvent }) {
  return <button onClick={onEvent}>이벤트 발생</button>;
}

위 예제에서 ParentComponent에서 ChildComponenthandleEvent라는 이벤트 콜백 함수를 전달하고, ChildComponent에서는 해당 함수를 실행하는 버튼을 렌더링합니다.

이렇게하여, 간단히 컴포넌트 간에 데이터를 전달하고 이벤트를 처리할 수 있으며, 이를 통해 리액트 애플리케이션의 상태와 상호작용을 구성할 수 있습니다.

이 외에도 컴포넌트 간의 통신을 위한 다양한 방법이 있으며, 상황에 맞게 적절한 방법을 선택하여 사용할 수 있습니다.

이상으로 리액트에서의 컴포넌트 간의 통신 방법에 대해 알아보았습니다. 원하는 방식을 선택하여 효율적인 컴포넌트 간 상호작용을 구현해보세요.