看看下面的代码:
class App extends React.Component {
go(){
console.log("Hello",this);
}
render() {
console.log("Hey",this);
return (
<button onClick={this.go}>Add profile</button>
);
}
}
为什么this
中go
的值未定义? this
中的render
是一个App
实例,由于我们调用this.go
,因此方法this
中的go
的值应等于相同的{ {1}}实例。
答案 0 :(得分:2)
您需要绑定go
或使用箭头功能:
export default class App extends React.Component {
go = () => {
console.log('Hello', this);
};
render() {
console.log('Hey', this);
return <button onClick={this.go}>Add profile</button>;
}
}