import { useState } from "react";
export default function counterPage() {
const [count, setCount] = useState(0);
function counter() {
setCount(count + 1);
}
return (
<div>
<div>{count}</div>
<button onClick={counter}>카운트 올리기</button>
</div>
);
}
import { Component } from "react";
export default class ClassCounterPage extends Component {
state = {
count: 0,
};
onClickCounter(){
console.log(this.state.count);
this.setState((prev) => ({
count: prev.count + 1,
}));
}
render() {
return (
<div>
<div>{this.state.count}</div>
<button onClick={this.onClickCounter}>카운트 올리기</button>
</div>
);
}
}
클래스형 컴포넌트에서 this 사용 주의
어디서 실행하는지에 따라 this가 변하는 이슈가 있다(동적 this) 이때,화살표 함수로 작성하거나, onClick에 바인딩되는 함수 뒤에 .bind(this)를 덧붙이면 우리가 원하는 변수/함수를 사용할 수 있다.