[React] Element와 Componet의 차이

2025. 3. 11. 22:40·Programming/React
728x90
반응형

🎈Element

  • 앱의 UI를 구성하는 가장 단위
  • immutable 객체(불변)
  • 화면에 표시할 내용을 기술하는 단순한 객체이며, 실제 DOM 요소를 직접 만들지는 않는다.
  • React.createElement() 함수로 생성되며, JSX를 사용하면 더 쉽게 작성 가능하다.
const element = <h1>Hello, React!</h1>;
  • 아래 element는 화면에 <h1>Hello, React!</h1>를 표현하는 객체일 뿐, 아직 실제 DOM에 반영된 것은 아니다. 리액트는 이러한 엘리먼트를 ReactDOM.render() 혹은 useState, useEffect 등의 업데이트 과정에서 가상 DOM을 통해 실제 DOM으로 변환합니다.

 

🎈Component

  • 리액트 엘리먼트를 반환하는 함수 또는 클래스
  • 컴포넌트는 여러개의 엘리먼트들을 조합하여 재상용할 수 있도록 설계된다.
  • JSX를 반환하는 함수형 컴포넌트(Function Component) 또는 React.Component를 상속받는 클래스형 컴포넌트(Class Component)로 만들 수 있다.
  • 컴포넌트는 자체적인 상태(state)와 생명주기(lifecycle) 를 가질 수 있다(함수형 컴포넌트에서는 useState, useEffect 같은 훅을 사용).
function Welcome() {
  return <h1>Hello, React!</h1>;
}
  • 위의 Welcome 컴포넌트는 <h1>Hello, React!</h1> 엘리먼트를 반환하는 함수형 컴포넌트이다.
  • 컴포넌트를 사용할 때는 JSX에서 태그처럼 사용
// jsx 미사용 시
const element = React.createElement(Welcome);

// jsx 사용시
const element = <Welcome />;
반응형

'Programming > React' 카테고리의 다른 글

[React] React 완벽 가이드 - 섹션 5: React로 투자 계산기 만들기 | 개발 회고  (0) 2025.03.18
[React]스프레드 연산자를 통한 속성 전달 방식- id 전달  (0) 2025.03.12
[React] 함수형 컴포넌트의 반환 return 값 조건 & Fragment(프래그먼트) <>...</>  (0) 2025.03.11
[React] React 완벽 가이드 - 섹션 3: 리액트의 핵심 - 컴포넌트, JSX, 속성, 상태 등  (1) 2025.03.03
[React] React 완벽 가이드 - 섹션 1: 시작하기  (0) 2025.02.15
'Programming/React' 카테고리의 다른 글
  • [React]스프레드 연산자를 통한 속성 전달 방식- id 전달
  • [React] 함수형 컴포넌트의 반환 return 값 조건 & Fragment(프래그먼트) <>...</>
  • [React] React 완벽 가이드 - 섹션 3: 리액트의 핵심 - 컴포넌트, JSX, 속성, 상태 등
  • [React] React 완벽 가이드 - 섹션 1: 시작하기
제가안난데여♪(´ε`*)
제가안난데여♪(´ε`*)
기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 제가안난데여♪(´ε`*)
    안나의 전두엽 어딘가 🧠
    제가안난데여♪(´ε`*)
    기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 전체
    오늘
    어제
    • 분류 전체보기 (128)
      • 간단하게 한스푼🥄 (1)
      • Programming (56)
        • Spring (16)
        • Vue.js (6)
        • Deep Learning (3)
        • DataBase (5)
        • React (26)
      • DevOps (21)
        • Docker (12)
        • Linux (4)
      • Algorithm (46)
        • 알고리즘 정리 (5)
        • 자료구조 (0)
        • PS - 백준 (28)
        • 99클럽 코테 스터디 (13)
      • Project (0)
        • CampFire (0)
      • 안나의 취뽀일기 (˵ •̀ ᴗ - ˵ ) ✧ (4)
        • SSAFY_9기 (2)
        • SW 부트캠프 (2)
  • 잔디 달력

    «   2025/07   »
    일 월 화 수 목 금 토
    1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30 31
  • 인기 글

  • 태그

    리액트 상태
    greedy
    java stack
    자바
    java
    linux
    도커
    백준
    백준 구현문제
    도커컨테이너
    항해99
    til
    코딩테스트 준비
    stack
    java 백준
    springboot
    알고리즘
    자바 스택
    99클럽
    Vue.js
    개발자 취업
    React
    topology sort
    Vue.js 입문하기
    docker
    백준 java
    Vue
    김영한
    front-end
    Spring
  • 07-20 12:48
    반응형
  • hELLO· Designed By정상우.v4.10.3
제가안난데여♪(´ε`*)
[React] Element와 Componet의 차이
상단으로

티스토리툴바