앞서 간단하게 root DOM node에 알아본 적이 있는데 이해가 정확히 되지 않아
다시 한 번 짚으면 좋을 거 같아서 정리해본다!
중요한 부분인 만큼 확실하게 넘어가장
<div id="root"></div>
<div id="root">는 리액트가 모든 콘텐츠를 렌더링하고, 업데이트하며, 관리하는 DOM 요소이다.리액트는 SPA(Single Page Application) 구조를 기반으로 동작한다. SAP는 웹 페이지 전체를 새로고침하지 않고, 하나의 HTML 페이지 안에서 모든 UI를 업데이트 한다.
1. HTML 파일:
<div id="root"></div>를 찾게 된다.<div id="root"></div>
2. 리액트가 root DOM node에 렌더링:
const root = React.createRoot(document.getElementById('root'));
root.render(<h1>안녕하세요, 리액트입니다!</h1>);
<div id="root"></div>)안에 리액트의 내용이 렌더링 된다:<div id="root">
<h1>안녕하세요, 리액트입니다!</h1>
</div>
3. root DOM node를 통해 UI를 업데이트:
HTML 구조:
HTML 파일은 보통 다음과 같이 작성 된다:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>React App</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
<div id="root">는 빈 상태로 시작하며, 리액트가 렌더링을 담당한다.리액트 코드:
import React from "react";
import ReactDOM from "react-dom/client";
const element = <h1>안녕하세요, 리액트입니다!</h1>;
const root = React.createRoot(document.getElementById("root"));
root.render(element);
<div>를 찾는다.<h1> 엘리먼트를 root DOM node 안에 렌더링 한다.root DOM node를 집에 비유한다:
<div id="root">는 집 안의 큰 방하나 이다.이 방이 없다면 리액트가 어디에 콘텐츠를 넣어야 할 지 알 수 없다.
따라서 root DOM node는 리액트 어플리케이션의 필수적인 출발점이라고 할 수 있다.
<div id="root">를 정의하고, 리액트가 이를 통해 UI를 관리하도록 설정한다.