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