ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [REACT_MEMO] 파워노트5
    IT/REACT 2024. 5. 21. 23:58

    # 리액트 Elements의 특징

    - 불변성(변하지 않는 성질)

    - im + mutable = immutable(변경할 수 없는, 불변)

    - 한번 생성된 elements는 변하지 않는다.

    - Elements 생성후에는 children이나 attributes를 바꿀 수 없다.

       즉 Elements는 다양한 모습으로 만들 수 있지만, 그 후로는 변경할 수 없다.

      마치 붕어빵의 속을 바꿀 수 없는 것처럼..

      컴포넌트 = 붕어빵 틀 /  Element = 붕어빵

     

     

     

    # 엘리먼트 랜더링 하기

    - 리액트로 만든 웹사이들은 단 하나의 Root DOM을 가지게 된다.

    - 기존에 있던 리액트에 추가적으로 연동하게 되면 여러 개의 분리된 수많은 Root DOM을 가질 수 있다.

     // Root DOM에 React element 렌더링 하기
     // React elements와 Dom elements 는 다른 개념
     const element = <h1>hi, react!</h1>
     ReactDOM.render(element, document.getElementById('root'));
     

     

     

     

    # 엘리먼트 업데이트 하기

     // 매 시간 갱신
     function tick(){
          const element = {
               <div>
                     <h1>Hi, react!</h1>
                     <h2>현재시간 : {new Date().toLocaleTimeString()}</h2>
               </div>
          };

          ReactDOM.render(element, document.getElementById('root'));
     }
     setInterval(tick, 1000);

     

     

     

    # 시계 만들기(버전과 오타를 주의할 것)

    1. chapter_04 폴더를 만들고 Clock.jsx 컴포넌트를 만들어 준다.

     

     

     

    2. 만들어 준 Clock.jsx 컴포넌트에 내용을 채워준다(오타 주의할 것!!)

     

     

    3. index.js로 돌아가 컴포넌트를 불러와 준다.

     

     

    근대 여기서 잠깐!

    이대로 npm start를 돌리면 런타임 에러가 계속해서 뜬다.

     

     

    그 이유는,

    현재 작성된 코드가 리액트 버전 17로 제작된 것이기 때문!

    흐아 업데이트 머선 일이고

     

    리액트 버전 18 기준으로 다시 작성하면 문제없이 잘 돌아간다.

     

     

     

     

    터미널에서 npm start 돌리면

    로컬창이 새로 뜨면서, 변경되는 영역만 깜빡이는 게 보인다!

     

    반응형

    'IT > REACT' 카테고리의 다른 글

    [REACT_MEMO] 파워노트7  (0) 2024.06.04
    [REACT_MEMO] 파워노트6  (0) 2024.05.23
    [REACT_MEMO] 파워노트4  (0) 2024.05.21
    [REACT_MEMO] 파워노트3  (0) 2024.05.18
    [REACT_MEMO] 파워노트2  (0) 2024.05.17

    댓글

Designed by Tistory.