(React) 'Hello world!'
React로 ‘Hello world!’
최근 학습중인 리액트에 대해 정리
리액트를 이용한 Hello world! 페이지를 만들어 보겠다.
/hello-world
/js
react.js
react-dom.js
index.html
프로젝트 폴더의 형태는 위와 같다.
<!DOCTYPE html>
<html>
<head>
<script src="js/react.js"></script>
<script src="react-dom.js"></script>
</head>
<body>
<div id="content"></div>
</body>
</html>
index.html 파일을 위와 같이 생성한다.
리액트를 사용하기 위해 head태그에 react.js, react-dom.js 두개의 파일을 추가한다.
body태그에 div태그를 id를 content로 생성한다.
이제 리액트 엘리먼트를 생성하기 위한 자바스크립트 코드를 작성한다.
React.createElement(elementName, data, child)
위의 함수를 이용해 엘리먼트를 생성할 수 있다.
함수의 인자를 살펴보자.
- element : ‘div’, ‘h1’과 같이 html태그를 문자열로 작성하거나 컴포넌트 클래스 객체를 넘겨줌
- data : name, href 같은속성 데이터
- child : 태그 내부 또는 자식 엘리먼트의 내용
가령
React.createElement('div', {id: 'content'}, 'Hello world')
위같은 함수는 id가 content인 div태그내에 Hello world을 가진 엘리먼트를 생성한 것이다.
var h1 = React.createElement('h1', null, 'Hello world!')
h1요소를 리액트 엘리먼트로 생성하여 h1변수에 담는다.
ReactDOM.render(
h1,
document.getElementById('content')
)
이후,ReactDOM.render() 함수를 사용하여 h1을 id가 content인 실제DOM 노드에 렌더링한다.
<!DOCTYPE html>
<html>
<head>
<script src="js/react.js"></script>
<script src="react-dom.js"></script>
</head>
<body>
<div id="content"></div>
<script type="text/javascript">
var h1 = React.createElement('h1', null, 'Hello world!')
ReactDOM.render(
h1,
document.getElementById('content')
)
</script>
</body>
</html>
자바스크립트를 적용시키면
Hello world! 을 출력하는 페이지를 열 수 있다.