Front/React

[React] React와 ReactDOM

오선지♬ 2025. 6. 8. 15:12
728x90
반응형

React와 ReactDOM은 React 생태계의 핵심 라이브러리 두 가지입니다.

이 둘은 목적이 다르며, 함께 사용되지만 역할이 명확히 나뉘어 있습니다.


🔹 React

✅ 역할

React는 컴포넌트를 만들고 구성하는 역할을 합니다.
즉, UI를 정의하고 로직을 구성하는 도구입니다.

✅ 주요 기능

  • React.createElement(): React 엘리먼트 생성
  • useState, useEffect 등 훅 제공
  • JSX 문법을 해석할 기반 제공
  • 컴포넌트 클래스, 함수형 컴포넌트 등 정의

✅ 예시

jsx
import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);
  return <button onClick={() => setCount(count + 1)}>Count: {count}</button>;
}

🔹 ReactDOM

✅ 역할

ReactDOM은 React 컴포넌트를 실제 DOM에 연결(render) 하는 역할을 합니다.
즉, React가 만든 가상 DOM을 브라우저의 실제 DOM에 반영합니다.

✅ 주요 기능

  • ReactDOM.render() (React 17 이하): root DOM에 React 컴포넌트 마운트
  • createRoot().render() (React 18 이상): Concurrent Mode 지원
  • DOM 관련 기능 제공 (findDOMNode, hydrate, 등)

✅ 예시 (React 18 기준)

jsx
 
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);

 


🔸 요약 비교표

항목 React ReactDOM
역할 컴포넌트 정의 및 구성 컴포넌트를 브라우저 DOM에 렌더링
기능 JSX 처리, 상태 관리, 생명주기 등 DOM 마운트, 언마운트, 초기화 등
사용 위치 컴포넌트 파일 내부 진입점(index.js 등)에서 사용
예시 메서드 React.createElement,useState ReactDOM.createRoot,ReactDOM.render
 

✅ 비유로 설명

  • React는 건축 설계도와 같은 것 (무엇을 어떻게 만들지 정의)
  • ReactDOM은 시공팀 (설계도를 실제 건물로 짓는 역할)
728x90
반응형

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

[React] React.useState  (0) 2025.06.15
[React] React.createElement  (0) 2025.06.09