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);



Posted by '김용환'
,