java script
[react] Cannot read property 'setState' of undefined 에러 해결
'김용환'
2017. 12. 15. 20:15
React 16으로 컴포넌트 개발 중, input 필드를 잘 정의하고.
<input type="text" placeholder="검색할 개수를 입력하세요." defaultValue={ this.props.number } onChange={this.changeNumber} className="form-control" ref={(c) => this.state.number = c} name="number" /></td>
event도 잘 정의했다.
changeNumber(e) {
console.log(e)
this.setState({
number: e.target.value
});
}
Cannot read property 'setState' of undefined 라는 에러가 발생했다!!
다음과 같이 state와 event를 바인딩을 잘 했는지 잘 살펴본다.
constructor(props) {
super(props);
this.state = {
count : 1
};
this.changeNumber = this.changeNumber.bind(this);
}
아. 생성자에서 event 바인딩을 놓쳤다..
아래 코드를 추가하면 된다.
this.changeNumber = this.changeNumber.bind(this);