Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么调用javascript类方法需要在函数中声明?_Javascript_Reactjs - Fatal编程技术网

为什么调用javascript类方法需要在函数中声明?

为什么调用javascript类方法需要在函数中声明?,javascript,reactjs,Javascript,Reactjs,我无意中发现了这个代码 (此componentDidMount()位于React.Component扩展类内) 问题是,为什么我首先需要绑定()=>呢 而如果在课外我可以做些什么 setInterval(tick,1000) 编辑:在我为标记为重复问题辩护时,重复问题的链接围绕着“this”关键字。而我真正要问的是为什么我应该在类中使用arrow函数/绑定。虽然答案指向如何使用“this”关键字,但其来源和问题是绝对唯一的。()=>是箭头函数,箭头函数中的this值由周围范围决定。如果没有箭头

我无意中发现了这个代码

(此componentDidMount()位于React.Component扩展类内)

问题是,为什么我首先需要绑定()=>呢

而如果在课外我可以做些什么

setInterval(tick,1000)

编辑:在我为标记为重复问题辩护时,重复问题的链接围绕着“this”关键字。而我真正要问的是为什么我应该在类中使用arrow函数/绑定。虽然答案指向如何使用“this”关键字,但其来源和问题是绝对唯一的。

()=>
是箭头函数,箭头函数中的
this
值由周围范围决定。如果没有箭头功能,此
setInterval
将获得一个新的
范围
,因此
此项。勾选
将不起作用。如果您使用的是箭头函数,
范围
对于本教程中的
设置间隔

内外都是相同的,
勾选
是类中的一种方法。由于它是一个箭头函数(在checkInterval内),上下文
this
是类1(时钟),而不是interval函数的作用域,因此您正在访问类本身的tick方法。在类之外,您正在调用另一个tick方法,即本教程开头声明的方法。一个相关问题:
setInterval(tick,1000)