프로그래밍/ReactJS

React 컴포넌트와 프롭스: 인터랙티브 UI 구축의 핵심!

shimdh 2025. 9. 19. 10:07
728x90

React 개발을 시작하는 여러분, 환영합니다!
React는 오늘날 가장 인기 있는 프론트엔드 라이브러리 중 하나이며, 그 핵심에는 컴포넌트프롭스(props) 라는 두 가지 중요한 개념이 있습니다.

이 글에서는 이 두 가지 개념이 무엇인지, 왜 중요한지, 그리고 어떻게 우리의 웹 애플리케이션을 더 효율적이고 재사용 가능하게 만드는지 살펴보겠습니다.


React에서 컴포넌트란 무엇인가요?

React에서 컴포넌트는 애플리케이션의 기본적인 구성 요소입니다.
마치 레고 블록처럼, 복잡한 사용자 인터페이스(UI)를 더 작고 관리하기 쉬운 조각으로 분해할 수 있게 해줍니다.

  • 각 컴포넌트는 자체적인 논리와 상태(state)를 가질 수 있어 독립적으로 작동합니다.
  • 코드를 캡슐화하고 재사용성을 높여 UI를 모듈화하고 관리하기 쉽게 만듭니다.

728x90

컴포넌트의 두 가지 주요 유형

  1. 함수 컴포넌트 (Functional Components)
    • JSX를 반환하는 간단한 JavaScript 함수입니다.
    • 과거에는 상태 관리가 불가능했지만, React Hooks(useState, useEffect)의 등장으로 상태 관리 및 사이드 이펙트 처리까지 가능해져 현재 React 개발의 주류가 되었습니다.
  2. 클래스 컴포넌트 (Class Components)
    • ES6 class 문법을 이용해 정의됩니다.
    • 라이프사이클 메서드를 활용할 수 있지만 최근에는 함수 컴포넌트가 간결하고 직관적이라는 장점 때문에 점차 사용이 줄어들고 있습니다.

프롭스(Props) 이해하기: 컴포넌트 간 데이터 전달의 핵심

프롭스(props)는 "속성(properties)"의 줄임말이며, 부모 컴포넌트가 자식 컴포넌트에 데이터를 전달하는 방법입니다.
프롭스를 함수의 인자(arguments)라고 생각하면 이해하기 쉽습니다. 이를 통해 컴포넌트의 동작이나 모양을 외부에서 사용자 지정할 수 있습니다.


프롭스를 활용한 실용적인 예시

아래 예시는 부모 컴포넌트(Greeting)에서 자식 컴포넌트(User)로 데이터를 전달하는 방법을 보여줍니다.

// User.js
import React from 'react';

const User = ({ name, age }) => { // 비구조화 할당으로 name과 age를 받음
    return (
        <div>
            <h2>사용자 정보</h2>
            <p>이름: {name}</p>
            <p>나이: {age}</p>
        </div>
    );
};

export default User;


// Greeting.js
import React from 'react';
import User from './User'; // User 컴포넌트 임포트

const Greeting = () => {
    const userName = "앨리스";
    const userAge = 30;

    return (
        <div>
            <h1>안녕하세요!</h1>
            {/* User 컴포넌트에 userName과 userAge를 프롭스로 전달 */}
            <User name={userName} age={userAge} />
        </div>
    );
};

export default Greeting;

예시 분석:

  • User 컴포넌트는 nameage라는 두 가지 프롭스를 비구조화 할당 문법으로 받습니다.
  • Greeting 컴포넌트는 userName, userAge 변수를 선언하고, 이를 <User />에 전달합니다.
  • 결과적으로 User 컴포넌트는 부모 컴포넌트가 제공한 "앨리스"30이라는 값을 화면에 출력합니다.

프롭스 사용의 이점

  1. 동적 렌더링 (Dynamic Rendering)
    • 동일한 컴포넌트라도 전달받는 프롭스 값에 따라 다양한 UI를 표시할 수 있습니다.
    • 코드 구조를 바꾸지 않고 유연한 사용자 경험을 제공할 수 있습니다.
  2. 컴포넌트 재사용성 (Component Reusability)
    • 한 번 만든 컴포넌트를 다양한 곳에서 다른 데이터와 함께 재사용할 수 있습니다.
    • 코드 중복을 줄이고 유지 보수성을 크게 높여줍니다.

결론: 컴포넌트와 프롭스의 중요성

React를 잘 다루기 위해서는 컴포넌트와 프롭스의 관계를 이해하는 것이 필수입니다.
이 두 가지 개념만 잘 활용해도 재사용 가능한 UI를 만들고, 기능과 프레젠테이션을 명확하게 분리할 수 있습니다.

앞으로 React의 강력한 기능들을 배우면서 컴포넌트 기반 사고방식을 익히면, 확장 가능하고 유지보수하기 쉬운 애플리케이션을 만들 수 있을 것입니다.

React의 세계로 뛰어들어 컴포넌트와 프롭스를 마스터하여 놀라운 사용자 경험을 만들어보세요!

728x90