我正在学习React,我正在学习本教程
https://reactjs.org/docs/state-and-lifecycle.html并且在其中,在react组件类中设置了一个间隔,使用的语法是setInterval(() => this.tick(), 1000)
,其中tick是Clock
组件中的方法。我的问题是这样的:所以这个箭头函数在调用时只调用this.tick()
,而setInterval
会调用它,所以只需传入this.tick
而不将其包含在箭头中有什么区别功能如此setInterval(this.tick, 1000)
?我认为没有区别,但是在箭头功能中删除换行并且时钟不起作用。这是怎么回事?这是一个代码库的链接,用于演示问题https://codepen.io/anon/pen/aKNJGd?editors=0011(第12行)
答案 0 :(得分:1)
与this
works in Javascript的方式有关。使用箭头函数,您可以通过闭包范围从React组件获得this.tick
。如果没有箭头功能,被调用的this
会有不同的(或没有)this.tick = this.tick.bind(this)
。
在构造函数中添加它,它将在没有箭头功能的情况下工作。
ruamel.