react 组件里面的函数应该怎么写?

我按照antd 的例子自己手写的过程中遇到一个例子 搞不明白怎么回事: 贴代码:

一个 onChange事件:在class App extends Component {}组件中:


onChange= (e) => {

    this.setState({

      value:e.target.value

    })

  }

而我写成了一般的


onChange (e) {

    this.setState({

      value:e.target.value

    })

  }

这样就报错了,我想问一下这两种写法 有什么区别吗?


至尊宝的传说
浏览 1756回答 1
1回答

holdtom

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}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript