HTML 코드에 직접 리액트 연동
- 화면에 Hello World! 표시
- Click here이라고 적힌 버튼 생성
- 버튼을 클릭하면 Clicked로 변경되도록 함
1. DOM Container(Root DOM Node) 추가
- virtual DOM의 시작점인 DOM Container를 <body> 태그 내에 추가
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>Hello world!</h1>
<!-- DOM Container 추가 -->
<div id="root"></div>
</body>
</html>
2. 리액트와 리액트 컴포넌트 가져오기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>Hello world!</h1>
<!-- DOM Container 추가 -->
<div id="root"></div>
<!-- 리액트 가져오기 -->
<script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>
<!-- 리액트 컴포넌트 가져오기 -->
<script src="MyButton.js"></script>
</body>
</html>
3. 리액트 컴포넌트 제작
- MyButton.js 라는 이름의 파일 생성 후 다음 코드 입력
function MyButton(props) {
const [isClicked, setIsClicked] = React.useState(false);
return React.createElement(
'button',
{onClick: () => setIsClicked(true)},
isClicked ? 'Clicked' : 'Click here'
)
}
const domContainer = document.querySelector('#root');
ReactDOM.render(React.createElement(MyButton), domContainer);
4. 실행
'Front-end > React' 카테고리의 다른 글
[React] 실습 - 시계 만들기 (0) | 2023.05.24 |
---|---|
[React] JSX 정의, 장점, 사용법 (0) | 2023.05.24 |
[React] create-react-app (0) | 2023.05.17 |
[React] 리액트의 정의, 장단점 (0) | 2023.05.17 |
[React] 개발 환경 설정(Node.js, npm) (0) | 2023.05.17 |