在学习 React 时,我发现了以下代码:
componentDidMount() {
this.timerID = setInterval(
() => this.tick(),
1000
);
}
他们为什么this.tick()站在前面()?如果我理解正确,是这种匿名函数声明吗?但毕竟它首先setInterval需要一个函数,而tick()这是这个类的一个方法,也就是说,它是一个函数。
在学习 React 时,我发现了以下代码:
componentDidMount() {
this.timerID = setInterval(
() => this.tick(),
1000
);
}
他们为什么this.tick()站在前面()?如果我理解正确,是这种匿名函数声明吗?但毕竟它首先setInterval需要一个函数,而tick()这是这个类的一个方法,也就是说,它是一个函数。
箭头函数
实际上等效
所以更短、更方便、更清晰。
另一个正确的选项是
setTimeout(this.tick.bind(this), 1000),否则这个对象在刻度内将不可用。它是一个对象方法,而不仅仅是一个函数。