我按照antd 的例子自己手写的过程中遇到一个例子 搞不明白怎么回事: 贴代码:
一个 onChange事件:在class App extends Component {}组件中:
onChange= (e) => {
this.setState({
value:e.target.value
})
}
而我写成了一般的
onChange (e) {
this.setState({
value:e.target.value
})
}
这样就报错了,我想问一下这两种写法 有什么区别吗?
handleChange(e){
}
然后render中调用: onChange={this.handleChange.bind(this)}或者使用ES6的箭头函数onChange={(e)=>this.handleChange(e)}
但是上面在render函数中使用bind或者箭头函数其实会有些问题,因为每一次点击都是一次实例。建议在构造函数中:this.handlechage=this.handleChange.bind(this),然后在render中onChange={this.handleChange}