React CDN 링크 추가하기.
<title>
태그 밑에 아래 코드를 붙여 넣는다.<script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>
BABEL 링크 추가.
<title>
태그 밑에 아래 코드를 붙여 넣는다.<script crossorigin src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
최신 ES6버전을 구 버전인 ES5로 변환해준다.
쉽게말해 순수하게 실행할 수 있는 자바스크립트로 변환해 주는 것이다.
JSX문법으로 HTML태그에 추가 후 생성.
<div id="root"></div>
안에 만든 것을 넣어줘야한다.<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>
<script crossorigin src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
const App = () => {
const [bg, setBg] = React.useState('');
const images = [
'https://i.pinimg.com/564x/a6/55/f5/a655f51a8ad5243c87bf4c03c6d9fd2b.jpg',
'https://i.pinimg.com/564x/57/e3/db/57e3dba80aac4db56f1ae8d3a9129a85.jpg',
'https://i.pinimg.com/736x/47/c8/85/47c885fc86915be61c37aa76960da502.jpg',
'https://i.pinimg.com/564x/0f/84/b2/0f84b27d63c19878d95fb34cf29b6059.jpg',
'https://i.pinimg.com/564x/08/28/6a/08286a47f3694a58e1f671899f5e77a7.jpg',
'https://i.pinimg.com/564x/c5/77/6c/c5776ca92518590fa0b67c75e327cc78.jpg',
'https://i.pinimg.com/564x/82/53/8e/82538e03f0c4674ac59d67308677411f.jpg'
]
const handleBgChange = () => {
const num = Math.floor(Math.random() * (images.length - 1));
const img = images[num];
setBg(img);
}
React.useEffect(() => {
setBg(images[0]);
}, [])
return (
<div>
<img src={bg} alt="배경" width='500px' height='500px' onClick={handleBgChange} />
</div>
)
}
ReactDOM.render(<App />, document.getElementById('root'));
</script>
</body>
</html>
리액트 CDN 이란 것을 처음 배웠다. 평소에 리액트를 시작할 때 CRA(Create-React-App)으로 시작을 했어서 그런지 익숙하지 않아 헷갈리는 부분이 많았다. 실습을 하면서 어느정도 흐름을 이해했다. 하지만 CRA가 더 편한 것 같다..