react关于类组件this指向
在 React 中,类组件中 this 的指向和普通的 JavaScript 类相同,指向当前实例对象。但是,在事件处理函数中,this 的指向会有所不同。
当我们使用类组件的时候,事件处理函数中的 this 默认指向 undefined。为了保证 this 指向类组件实例对象,我们需要手动绑定 this,或者使用箭头函数。
手动绑定 this:
class MyComponent extends React.Component {
handleClick() {
// do something
}
render() {
return (
<button onClick={this.handleClick.bind(this)}>Click me</button>
);
}
}
使用箭头函数:
class MyComponent extends React.Component {
handleClick = () => {
// do something
}
render() {
return (
<button onClick={this.handleClick}>Click me</button>
);
}
}
在上面的例子中,我们使用了箭头函数来定义事件处理函数 handleClick,这样就可以保证 this 指向类组件实例对象。
总的来说,在 React 中,为了保证事件处理函数中的 this 指向类组件实例对象,我们需要手动绑定 this 或者使用箭头函数来定义事件处理函数。