React[Component] - Component 만드는 법

일상 코딩·2022년 4월 23일
0

React

목록 보기
5/45
post-thumbnail

01.Class Component

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Example</title>

  <script crossorigin src="https://unpkg.com/react@18/umd/react.development.js"></script>
  <script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>  
  <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

  <script type="text/babel">  
    console.log(React);
    console.log(ReactDOM);
 
    // 정의
    class ClassComponent extends React.Component {
      render() {
        return <div>Hello</div>;
      }
    }
 
    // 사용
    ReactDOM.render(<ClassComponent />, document.querySelector('#root'));
  </script>
</head>

<body>
  <div id="root"></div>
</body>
</html>
  • React.Component를 상속 받으면 무조건 상속 받은 클래스에서 render();메소드를 정의 해줘야 합니다.
  • render(); 메소드는 반드시 return을 해줘야 합니다.

주의사항

  • script type에서 text/babel을 사용하기 때문에 반드시 babel 패키지가 설치되어 있어야하며 해당 HTML 파일에 babel 라이브러리 주소가 script로 정의되어 있어야합니다.

  • babel 패키지 설치 명령어

$ npm i -D @babel/core @babel/preset-env @babel/plugin-transform-runtime
  • babel 라이브러리 주소
  <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

실행 결과


02.Function Component

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Example</title>

  <script crossorigin src="https://unpkg.com/react@18/umd/react.development.js"></script>
  <script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>  
  <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

  <script type="text/babel">  
    console.log(React);
    console.log(ReactDOM);

    /* 정의 1
    function FunctionComponent() {
      return <div>Hello</div>;
    }
    */

    // 정의 2
    const FunctionComponent = () => <div>Hello</div>;

    // 사용
    ReactDOM.render(<FunctionComponent />, document.querySelector('#root'))
  </script>
</head>

<body>
  <div id="root"></div>
</body>
</html>
  • Function Component의 정의 방법에는 총 두 가지가 있습니다. (기명함수 & 화살표 함수)
  • Function Component는 함수 안에서 return 값을 반드시 정의 해줘야 합니다.

실행 결과

profile
일취월장(日就月將) - 「날마다 달마다 성장하고 발전한다.」

0개의 댓글