[React - 기초] DOM, Element

2022. 3. 8. 14:20·React/패스트캠퍼스
반응형

1. DOM? 

Document Object Model의 약자이며, XML이나, HTML 문서에 접근하기 위한 인터페이스라고 보면 된다. 

위와 같은 계층 구조로 나타나 있으며, 자바스크립트를 사용해서 문서의 요소를 변경, 수정, 삭제할 수 있다. 

 

2. Element

<!DOCTYPE html>
<html lang="en">
<body>
    <div id="root"></div>
    <script>
        const rootElemnet = document.getElementById("root");
        const element = document.createElement("h1");

        element.textContent = "Hello, world";

        rootElemnet.appendChild(element)
    </script>
</body>
</html>

html 태그를 사용하지 않고, 자바스크립트로 직접 만들 수 있다. 

 

이것을 React에서 어떤 방식으로 사용할까? 

3. React에서의 Element 다루기

<!DOCTYPE html>
<html lang="en">
  <body>
    <script
      crossorigin
      src="https://unpkg.com/react@17/umd/react.development.js"
    ></script>
    <script
      crossorigin
      src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"
    ></script>

    <div id="root"></div>
    <script>
      const rootElemnet = document.getElementById("root");
      // const element = document.createElement("h1");

      const element = React.createElement("h1", { children: "Hello, world" });

      ReactDOM.render(element, rootElemnet);

      // element.textContent = "Hello, world";
      // rootElemnet.appendChild(element)
    </script>
  </body>
</html>

보는 바와 같이 React에서도 Element를 생성, 수정을 할 수 있다. 

반응형
저작자표시 비영리 변경금지 (새창열림)

'React > 패스트캠퍼스' 카테고리의 다른 글

[React - 기초] Portals  (2) 2022.03.17
[React - 기초] Memoization  (2) 2022.03.15
[React - 기초] Hooks  (0) 2022.03.10
[React - 기초] React와 리랜더링  (0) 2022.03.09
[React - 기초] JSX, Babel  (0) 2022.03.08
'React/패스트캠퍼스' 카테고리의 다른 글
  • [React - 기초] Memoization
  • [React - 기초] Hooks
  • [React - 기초] React와 리랜더링
  • [React - 기초] JSX, Babel
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    Node.js
    바질 키우기
    리얼학습일기
    리액트
    타입스크립트
    영어독학
    ChatGPT
    바질
    Docker
    다이소
    알고리즘
    자바스크립트
    typescript
    식물
    타일러영어
    영어회화
    네이버 부스트캠프
    javascript
    리얼클래스
    react
    덤프
    네트워크
    프로그래머스
    CCNA
    webpack
    redux
    Babel
    CSS
    ReactNative
    next.js
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[React - 기초] DOM, Element
상단으로

티스토리툴바