자바스크립트는 호출하는 함수에 객체를 바인딩 해주지 않으면 전역 객체로부터 값을 받아옴
constructor(props) {
super(props);
this.handleClick = this.handleClick.bind(this);
}
handleClick(e) {
alert(this.state.message);
this.setState({
message: '',
});
}
render() {
return (
<div>
<h1>이벤트 연습</h1>
<input
type="text"
name="message"
/>
<button onClick={this.handleClick}>확인</button>
</div>
);
}
새 메서드를 만들 때마다 constructor도 수정해야 하므로 귀찮음
그래서 화살표 함수로 메서드를 만들면 귀찮음 해결
화살표 함수의 this는 인스턴스를 가리키기 때문
handleClick=(e)=> {
alert(this.state.message);
this.setState({
message: '',
});
}