1. class 컴포넌트
<script type="text/babel">
'use strict';
const e = React.createElement;
class LikeButton extends React.Component {
constructor(props) {
super(props);
this.state = {liked: false};
}
render() {
if (this.state.liked) {
return 'You liked this.';
}
return (
<button onClick={() => {setLiked(true);}}>Like</button>
);
}
</script>
<script type="text/babel">
ReactDOM.render(<LikeButton />, document.querySelector("#root"));
</script>
2. 함수 컴포넌트
- this 쓸 일이 없다.
- 코드 짧고 가독성이 더 좋음
<script type="text/babel">
'use strict';
function LikeButton() {
const [liked, setLiked] = React.useState(false);
if (liked) {
return 'You liked this.';
}
return (
<button onClick={() => {setLiked(true);}}>Like</button>
);
}
</script>
<script type="text/babel">
ReactDOM.render(<LikeButton />, document.querySelector("#root"));
</script>
출처
https://www.youtube.com/watch?v=Sph9Pqi1Mz0
'React' 카테고리의 다른 글
[React] 배열을 이용해서 데이터 추가하기 (0) | 2022.06.11 |
---|---|
[React] 배열로 리스트 사용하기 (map) (0) | 2022.06.10 |
[React] useRef로 React에서 DOM 조작하기 (0) | 2022.06.10 |
[React] useState로 사용자 입력 받기 (0) | 2022.06.10 |
[React] state와 props (0) | 2022.06.09 |