Reactjs 在这个例子中bind做什么?

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

在下面的代码中,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});
  }
  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事件的元素。您希望保证
这个
是您期望的,因为它在
勾选()中使用。