JSX (Javascript+ Xml)
Javascript의 확장으로 element로 하는 것은 보기가 너무 불편하다. 따라서 babel을 사용해서 보기 쉽게 바꿔준다.
*babel: 최신 문법을 사용하게 해주는 것으로 이걸 사용하여 <script>에서 html 문법을 쓸 수 있게 해준다.
babel을 쓰기 위해서 <script>를 <script type="text/babel"> 으로 변경.
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel">
// 컴포넌트 상속
class LikeButton extends React.Component {
constructor(props) {
super(props);
this.state = {
// 상태.
liked: false,
};
} //기본적으로 쓰는 것.
render() {
return (
<button
type="submit"
onClick={() => {
this.setState({ liked: true });
}}
>
{this.state.liked === true ? "Liked" : "Like"}
</button>
);
// content안에서 {} 안에 넣으면 javascript로 사용이 가능하다. => {this.state.liked...}
//JSX(JS+XML) <button /> 처럼 닫는 /가 필요하다. (문법이 엄격하다)
}
}
</script>
<script type="text/babel">
ReactDOM.render(<LikeButton />, document.querySelector("#root")); //LikeButton을 root안에다가 그리겠다.
</script>
content안에서 {} 안에 넣으면 javascript로 사용이 가능하다. => {this.state.liked...}
JSX(JS+XML) <button /> 처럼 닫는 /가 필요하다. (문법이 엄격하다)
button을 여러개 생성해 주고 싶을때는 어떻게 하는가??
<script type="text/babel">
//DOM은 화면에 직접 보여주겠다.
ReactDOM.render(
<div>
<LikeButton />
<LikeButton />
<LikeButton />
</div>,
document.querySelector("#root")
); //LikeButton을 root안에다가 그리겠다.
</script>
<div>로 묶어주면 component로 여러개를 쉽게 사용할 수 있다.
*주로 <>안에서 대문자로 시작되는 것은 컴포넌트이고 소문자로 시작되는것은 html 태그이다.
'Web > React' 카테고리의 다른 글
React | number count 기능 구현하기 , onScroll 스크롤에 따라 animation 실행 (0) | 2020.08.03 |
---|---|
React: Webpack 설치, 환경설정 및 빌드 (0) | 2020.07.28 |
React : Hooks 사용. (Class와의 차이점) useState, useEffect (0) | 2020.07.28 |
React : 구구단 예시 (State, setState) (0) | 2020.07.27 |
React 기본 : 사용하는 이유, 컴포넌트, HTML 속성과 State 추가 (0) | 2020.07.27 |