1. 컴포넌트 개요

2. 프로퍼티와 상태

3. 컴포넌트 생명주기

src/App.jsx (컴포넌트 출력 통합)

import "./App.css";

// 예제 컴포넌트 import
import ClassTypeComponent from "./components/ClassTypeComponent";
import FunctionalComponent from "./components/FunctionalComponent";
import ParentComponent from "./components/ParentComponent";
import PropsComponent from "./components/PropsComponent";
import ContentComponent from "./components/ContentComponent";
import StateComponent from "./components/StateComponent";
import LifeCycleComponent from "./components/LifeCycleComponent";

// 메인 App 컴포넌트
function App() {
  return (
    <>
      <h3>3장 리액트 컴포넌트</h3>

      {/* 클래스형 컴포넌트 */}
      <ClassTypeComponent />

      {/* 함수형 컴포넌트 */}
      <FunctionalComponent />

      {/* 중첩 컴포넌트 */}
      <ParentComponent />

      {/* Props 컴포넌트 */}
      <PropsComponent
        title="프로퍼티 컴포넌트"
        message="속성을 갖는 컴포넌트"
      />

      {/* 내용(children)을 갖는 컴포넌트 */}
      <ContentComponent>
        <h5>내용제목입니다.</h5>
        <p>내용을 갖는 컴포넌트 입니다.</p>
      </ContentComponent>

      {/* State 컴포넌트 */}
      <StateComponent />

      {/* 생명주기 컴포넌트 */}
      <LifeCycleComponent />
    </>
  );
}

export default App;

설명:


폴더 구조

src/
├── App.jsx                ← 이론 + 출력 통합
├── App.css
└── components/
    ├── ClassTypeComponent.jsx
    ├── FunctionalComponent.jsx
    ├── ParentComponent.jsx
    ├── ChildComponent.jsx
    ├── PropsComponent.jsx
    ├── ContentComponent.jsx
    ├── StateComponent.jsx
    └── LifeCycleComponent.jsx

설명: