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);
'java script' 카테고리의 다른 글
[react] state와 props의 차이 (0) | 2017.12.15 |
---|---|
[react] datetime & moment & 이벤트 (0) | 2017.12.15 |
react 날짜 시간 개발시 YouCanBookMe/react-datetime lib가 가장 좋다. (0) | 2017.12.14 |
[java script] event.preventDefault 예제 (0) | 2017.12.08 |
[react 공부] 리액트 웹앱 제작 총론 (learning react) 참조 자료 (1) | 2017.12.08 |