我有这个:
class Register {
render(){
return (<div onchange={this.aFunction}></div>)
};
aFunction(event){
this.printSomething(); //Uncaught TypeError: undefined is not a function
}
printSomething(){
console.log('Horray');
}
}
如何从 aFunction 中调用 printSomething? Es6 真的让我很困惑。
谢谢。
最佳答案
您会注意到,在 React 中使用 ES6 类时 a lot has changed .
此外,ES6 类不 autobind ES5 React.createClass
的方式。
因此,需要正确绑定(bind)函数的this
你有两个选择
1。使用箭头函数
render(){
return <div onchange={event => this.aFunction(event)}></div>;
}
2。使用绑定(bind)
render(){
return <div onchange={this.aFunction.bind(this)}></div>;
}
<小时/>
我假设您正在使用 React.js 来实现此目的。如果是,则需要更新
class Register
至
class Register extends React.Component
关于javascript - 如何从 Ecmascript 6 (ES6) 上的类对象中的事件回调函数访问对象成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31170852/