<!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>
실행 결과
<!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
값을 반드시 정의 해줘야 합니다.
실행 결과