ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • react - 주요개념#3 엘리먼트 렌더링(element rendering)
    React 2020. 11. 27. 12:31

    엘리먼트

      - react의 가장 작은 단위!

     

      - 화면에 표시할 내용을 기술

    const element = <h1>Hello, world</h1>;
    

     

     *  브라우저 DOM과 달리 react element는 일반 객체(plain object) 이며 쉽게 생성 가능!

     

     주의

      - component와 element를 혼동할 수 있는데 element는 component의 구성요소! 명확히 알고 가자!

     

     

    DOM에 element 렌더링하기!

     

    HTML 파일 어딘가에 <div>가 있다고 생각하자!

    <div id="root"></div>

     

    이안에 들어가는 모든 element들을 React DOM이 관리하기 때문에 이 div를 루트(root) DOM 노드라고 부른다!

     

     React로 구현된 애플리케이션들은 일반적으로 한개의 루트 DOM 노드가 있다

     

     물론 React를 기존 앱에 통합하려는 경우, 원하는 만큼 많은 수의 독립된 루트 DOM 노드가 있을 수 있다!

     

    React element를 루트 DOM 노드에 렌더링 하려면 ReactDOM.render()를 사용하면 된다!

     

    const element = <h1>Hello, world</h1>;
    ReactDOM.render(element, document.getElementById('root'));

     

     

    rendering된 element update하기

    React element는 불변객체!

     

    element를 생성한 이후에는 해당 element의 자식이나 속성을 변경할 수 없다!

     

    엘리먼트는 영화에서 하나의 프레임과 같이 특정 시점의 UI를 보여준다.

     

    현재까지의 내용을 바탕으로 하면 UI를 업데이트하는 유일한 방법은 새로운 엘리먼트를 생성하고 이를 

     

    ReactDOM.render()로 전달하는 것이다!

     

      * 의문점 ----> UI를 업데이트하는 방법이.. 위에 내용이.. ..진짜 유일한건가?

     

    아래는 그 예시 코드이다!

     

    function tick() {
      const element = (
        <div>
          <h1>Hello, world!</h1>
          <h2>It is {new Date().toLocaleTimeString()}.</h2>
        </div>
      );
      ReactDOM.render(element, document.getElementById('root'));
    }
    
    setInterval(tick, 1000);

     

    주의!

     

     실제로 대부분의 React app은 ReactDOM.render()를 한번만 호출한다 

     

     react - 주요개념을 차례차례 읽다보면 해당 내용을 어떻게 바꿔 쓰는지 알 수 있을 것!!

     

     

    변경된 부분만 업데이트하는 React!

    React DOM은 해당 엘리먼트와 그 자식 엘리먼트를 이전의 엘리먼트와 비교하고 변경된 내용이 있을 경우에만

     

    DOM을 업데이트 한다!

     

    -> 이 경우 전체가 다 업데이트 되는게 아니고 변경된 부분만 업데이트 된다!!

     

           아주 똑똑한 놈이다..

    'React' 카테고리의 다른 글

    React - 주요개념 #5 State and Liftcycle  (0) 2020.11.27
    React - 주요 개념 #4 Components 와 Props  (0) 2020.11.27
    react - JSX란?  (0) 2020.11.27
    react - JSX란 무엇일까??  (0) 2020.11.26
    react - 컴포넌트 생명주기 메소드 rendor()  (0) 2020.11.26

    댓글

Designed by Tistory.