-
리액트에서 컴포넌트란? 개념부터 활용까지 완벽 정리Developer 2025. 2. 1. 09:00728x90
리액트(React)는 컴포넌트(Component) 기반의 UI 라이브러리입니다. 즉, 리액트 애플리케이션은 여러 개의 컴포넌트로 구성되며, 각 컴포넌트는 독립적이고 재사용 가능한 UI 요소를 의미합니다. 이번 포스팅에서는 리액트 컴포넌트의 개념, 종류, 작성 방법, 그리고 실전 활용법에 대해 알아보겠습니다.
1. 리액트 컴포넌트란?
컴포넌트(Component)란 UI의 특정 부분을 담당하는 독립적인 모듈입니다. 각 컴포넌트는 HTML, CSS, JavaScript 로직을 포함할 수 있으며, 이를 조합하여 복잡한 UI를 구성합니다.
💡 리액트 컴포넌트의 특징
- 재사용 가능: 한 번 작성한 컴포넌트를 여러 곳에서 사용할 수 있습니다.
- 독립적: 각각의 컴포넌트는 자체적인 상태와 속성을 가질 수 있습니다.
- 계층적 구조: 부모-자식 관계를 형성하여 UI를 계층적으로 구성할 수 있습니다.
예를 들어, 웹 페이지에서 헤더(Header), 네비게이션(Nav), 버튼(Button) 등이 하나의 컴포넌트가 될 수 있습니다.
2. 리액트 컴포넌트의 종류
리액트에서는 함수형 컴포넌트(Function Component)와 클래스형 컴포넌트(Class Component) 두 가지 방식으로 컴포넌트를 정의할 수 있습니다.
1) 함수형 컴포넌트 (Function Component)
최근 리액트에서는 함수형 컴포넌트를 주로 사용합니다. 이는 더 간결한 문법을 제공하며, React Hooks와 함께 사용하여 상태와 생명주기를 관리할 수 있습니다.
import React from 'react'; function Greeting(props) { return <h1>안녕하세요, {props.name}님!</h1>; } export default Greeting;
2) 클래스형 컴포넌트 (Class Component)
과거에는 클래스형 컴포넌트가 주로 사용되었지만, 최근에는 함수형 컴포넌트와 Hooks가 선호됩니다.
import React, { Component } from 'react'; class Greeting extends Component { render() { return <h1>안녕하세요, {this.props.name}님!</h1>; } } export default Greeting;
3. 컴포넌트의 주요 개념
1) Props (속성)
- 부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달하는 방식입니다.
- 읽기 전용으로 변경할 수 없습니다.
function UserInfo(props) { return <p>사용자 이름: {props.name}</p>; } <UserInfo name="홍길동" />
2) State (상태)
- 컴포넌트 내부에서 관리하는 데이터입니다.
- useState Hook을 사용하여 상태를 변경할 수 있습니다.
import React, { useState } from 'react'; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>카운트: {count}</p> <button onClick={() => setCount(count + 1)}>+</button> </div> ); }
3) 이벤트 핸들링
- 리액트에서 이벤트는 CamelCase로 작성되며, 함수로 처리합니다.
function Button() { const handleClick = () => { alert('버튼 클릭됨!'); }; return <button onClick={handleClick}>클릭</button>; }
4. 컴포넌트 활용 사례
1) 재사용 가능한 버튼 컴포넌트
function Button({ label, onClick }) { return <button onClick={onClick}>{label}</button>; } <Button label="확인" onClick={() => alert('확인 버튼 클릭!')} />
2) 컴포넌트 조합하기
function App() { return ( <div> <Header /> <MainContent /> <Footer /> </div> ); }
5. 리액트 컴포넌트의 장점
✅ 재사용성: 동일한 UI 요소를 여러 곳에서 활용 가능
✅ 유지보수 용이: 코드가 모듈화되어 수정이 쉬움
✅ 성능 최적화: 필요할 때만 업데이트할 수 있음
✅ 가독성 향상: 명확한 구조로 코드 이해가 쉬움
6. 결론
리액트 컴포넌트는 UI를 구성하는 핵심 요소로, 재사용성과 독립성이 뛰어난 구조를 제공합니다. 함수형 컴포넌트와 Hooks를 활용하면 더 간결하고 효율적인 코드를 작성할 수 있습니다. 컴포넌트를 잘 설계하면 유지보수와 성능 최적화에도 큰 도움이 됩니다.
728x90'Developer' 카테고리의 다른 글
서버 컴포넌트(Server Components)란? 개념부터 활용까지 완벽 정리 (2) 2025.02.03 타입스크립트를 사용하는 이유: JavaScript보다 더 나은 선택 (2) 2025.02.02 이벤트 버블링과 캡처링 완벽 정리: 개념부터 활용까지 (2) 2025.01.31 CORS(Cross-Origin Resource Sharing): 개념과 필요한 이유 완벽 정리 (0) 2025.01.30 React 동시성 모드(Concurrent Mode): 성능 최적화를 위한 새로운 접근법 (0) 2025.01.29