📅  最后修改于: 2023-12-03 15:19:45.451000             🧑  作者: Mango
当在ReactJS中使用函数作为事件处理程序时,需要使用bind()方法,将正确的作用域绑定到函数中。这样,函数中的“this”关键字将引用正确的对象。
function.bind(thisArg[, arg1[, arg2[, ...]]])
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = { count: 0 };
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setState({ count: this.state.count + 1 });
}
render() {
return (
<div>
<p>Count: {this.state.count}</p>
<button onClick={this.handleClick}>Click me</button>
</div>
);
}
}
在上述示例中,constructor()方法中使用bind()方法将handleClick()方法绑定到组件实例中的正确作用域。这使得在handleClick()方法中使用this.setState()方法,始终将应用于组件实例的状态。在render()方法中,将handleClick()方法分配给