Javascript React.js和arrow函数与普通函数
我当时正在开发一个react.js应用程序,最初我使用了arrow函数,但出于好奇,我决定尝试正常函数,但正常函数不起作用。我认为他们都应该输出相同的东西,出了什么问题Javascript React.js和arrow函数与普通函数,javascript,reactjs,arrow-functions,Javascript,Reactjs,Arrow Functions,我当时正在开发一个react.js应用程序,最初我使用了arrow函数,但出于好奇,我决定尝试正常函数,但正常函数不起作用。我认为他们都应该输出相同的东西,出了什么问题 handleChange = event => this.setState({init: event.target.value}) handleChange(event){ this.setState({init: event.target.value}) } 箭头功能和正常功能不等效 区别如下: 箭头函数没有自己
handleChange = event => this.setState({init: event.target.value})
handleChange(event){
this.setState({init: event.target.value})
}
箭头功能和正常功能不等效 区别如下:
this
绑定,因此您的this.setState
请参考YourClass.setState
此
引用。因此,当您调用this.setState
时,实际上它指的是YourFunction.setState()
class FancyComponent extends Component {
handleChange(event) {
this.setState({ event }) // `this` is instance of handleChange
}
handleChange = (event) => {
this.setState({ event }) // `this` is instance of FancyComponent
}
}
检查您正在使用的es版本。根据这一点,您应该使用语法。如果缺少必要的模块,它将给出错误提示