Reactjs 在这个例子中bind做什么?
在下面的代码中,bind在这个语句中做什么this.tick.bind(this):Reactjs 在这个例子中bind做什么?,reactjs,Reactjs,在下面的代码中,bind在这个语句中做什么this.tick.bind(this): export class Counter extends React.Component { constructor(props) { super(props); this.state = {count: props.initialCount}; } tick() { this.setState({count: this.state.count + 1}); } re
export class Counter extends React.Component {
constructor(props) {
super(props);
this.state = {count: props.initialCount};
}
tick() {
this.setState({count: this.state.count + 1});
}
render() {
return (
<div onClick={this.tick.bind(this)}>
Clicks: {this.state.count}
</div>
);
}
}
导出类计数器扩展React.Component{
建造师(道具){
超级(道具);
this.state={count:props.initialCount};
}
勾选(){
this.setState({count:this.state.count+1});
}
render(){
返回(
单击:{this.state.count}
);
}
}
代码取自站点。它用于将参数传递给tick()方法,它只是Javascript,没有特定于react的内容。
.bind()
将用于创建的函数的设置为传入的任何参数
在这种情况下,它将tick()
函数的this
设置为render()
函数的上下文
这样做是因为当函数用作DOM事件处理程序时,this
被设置为调度DOM事件的元素。您希望保证这个
是您期望的,因为它在勾选()中使用。