jennet1 님의 블로그

React [ 컴포넌트 ] 본문

라이브러리/React

React [ 컴포넌트 ]

jennet1 2025. 1. 6. 02:16

리액트 컴포넌트란?

리액트(React)는 사용자 인터페이스(UI)를 구성하기 위해 컴포넌트(Component) 라는 개념을 사용합니다. 컴포넌트는 재사용 가능한 코드 조각으로 UI를 독립적이고 작은 단위로 나누어 관리할 수 있게 합니다. 이로 인해 유지보수성과 가독성이 높아지며 코드 재사용이 용이해집니다.

 

컴포넌트의 기본 개념

  • 독립성: 컴포넌트는 서로 독립적으로 동작하며 다른 컴포넌트와 결합하여 UI를 구성한다.
  • 재사용성: 한 번 작성한 컴포넌트를 다양한 곳에서 재사용할 수 있다.
  • 구조화: UI를 계층적으로 구조화하여 개발 및 유지보수를 용이하게 한다.
  1. 함수형 컴포넌트(Function Component)
  2. 클래스형 컴포넌트(Class Component)

리액트 파일 구조

  • /components: 컴포넌트 파일들을 모아 두는 폴더입니다.
  • App.js: 애플리케이션의 루트 컴포넌트입니다.
  • index.js: 리액트 애플리케이션의 진입점(entry point)으로 App 컴포넌트를 브라우저에 렌더링합니다.
/src
  |-- /components
  |     |-- Header.js
  |     |-- Footer.js
  |     |-- World.js
  |
  |-- App.js
  |-- index.js

 

함수형 컴포넌트 [ 자주씀 ]

더 간결하며 React Hooks를 사용하여 상태(state)와 생명주기(lifecycle)를 관리할 수 있습니다.

단축 : rfc

import React from 'react';

function Header() {
  return (
    <header>
      <h1>Welcome to My Website</h1>
    </header>
  );
}

export default Header;
  • function 키워드로 컴포넌트를 정의합니다.
  • return문 안에서 JSX(JavaScript XML)를 사용하여 UI를 정의합니다.
  • export default를 통해 다른 파일에서 이 컴포넌트를 사용할 수 있습니다

 

클래스형 컴포넌트

상태(state)와 생명주기 메서드(lifecycle methods)를 기본적으로 포함합니다

단축  : rcc

import React, { Component } from 'react';

class Footer extends Component {
  render() {
    return (
      <footer>
        <p>Copyright 2025, All Rights Reserved</p>
      </footer>
    );
  }
}

export default Footer;

 

주요 포인트

  • Component 클래스를 상속받아 정의합니다.
  • render() 메서드 안에서 JSX를 반환합니다.

 

컴포넌트 만들기

 

폴더 구조

/src
  |-- /components
  |     |-- Header.js
  |     |-- Welcome.js
  |     |-- World.js
  |
  |-- App.js
  |-- index.js

 

App.js

import './App.css';
import Hello from './component/Hello';
import Welcome from './component/Welcome';

function App() {
  return (
    <div className="App">
      <Hello />
      <Welcome />
    </div>
  );
}

export default App;

 

component/World

export default function world() {
  return <h3>World</h3>
}

component/Welcome

export default function Welcome() {
    return <p>Welcome</p>
}

component/Hello

// const Hello = () => {
//     <p>Hello</p>
// };
import World from './World';

export default function Hello() {
   return (
    <div>
      <h1>hello</h1>
      <World/>
    </div>

   );
}

 

'라이브러리 > React' 카테고리의 다른 글

React [ 셋팅 ]  (0) 2025.04.03
React [ Vite]  (0) 2025.02.06
React 앱 생성하기  (1) 2024.12.17