노마드코더 ReactJS로 영화 웹 서비스 만들기를 수강하면서 내용을 정리한 글입니다.
#2.5~ #2.6
JSX : JS를 확장한 문법
<script>
const root = document.getElementById("root");
// jsx를 이용해서 createElement 대체함
const Title = (
<h3 id="title" onMouseEnter={() => console.log("h3 touched")}>
Hello, I'm a title!
</h3>
);
const Button = (
<button
style={{ backgroundColor: "tomato" }}
onClick={() => console.log("I'm clicked")}
>
Click me
</button>
);
const container = React.createElement("div", null, [h3, btn]);
ReactDOM.render(container, root);
</script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<div id="root"></div>
</body>
<script src="https://unpkg.com/react@17.0.2/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@17.0.2/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel">
const root = document.getElementById("root");
// jsx를 이용해서 createElement 대체하기
function Title() {
return (
<h3 id="title" onMouseEnter={() => console.log("h3 touched")}>
Hello, I'm a title!
</h3>
);
}
// 위의 Title함수랑 밑의 Button함수는 똑같으나 코드형식만 다름
// finction이랑 return문을 이미 포함하고 있는거임
const Button = () => (
<button
style={{ backgroundColor: "tomato" }}
onClick={() => console.log("I'm clicked")}
>
Click me
</button>
);
//컴포넌트의 첫 글자는 반드시 대문자
//소문자로 작성하면 react랑 JSX는 HTML button태그라고 생각함
const Container = () => (
<div>
<Title />
<Button />
</div>
);
ReactDOM.render(<Container />, root);
</script>
</html>