Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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 React.js:处理事件和函数声明与函数表达式_Javascript_Reactjs_Function_Callback - Fatal编程技术网

Javascript React.js:处理事件和函数声明与函数表达式

Javascript React.js:处理事件和函数声明与函数表达式,javascript,reactjs,function,callback,Javascript,Reactjs,Function,Callback,我是否缺少Javascript函数的某些内容?: 调用函数声明是否会创建新的函数对象并执行此对象,但调用函数表达式会执行函数本身而不“复制”它? 提出这一问题的原因如下: 此语法的问题在于每次呈现LoggingButton时都会创建不同的回调。 这个短语的意思是: 1-创建并调用新函数handleClick 或 2-在调用handleClick() 如果为1,那么上面的图片与使用onClick={this.handleClick}(使用绑定this)有什么区别?这也将调用方法handleCl

我是否缺少Javascript函数的某些内容?:
调用函数声明是否会创建新的函数对象并执行此对象,但调用函数表达式会执行函数本身而不“复制”它?

提出这一问题的原因如下:

此语法的问题在于每次呈现LoggingButton时都会创建不同的回调。

这个短语的意思是:

1-创建并调用新函数
handleClick


2-在调用
handleClick()


如果为1,那么上面的图片与使用
onClick={this.handleClick}
(使用绑定
this
)有什么区别?这也将调用方法
handleClick

,您的第二个解释是正确的。每次调用渲染它都会创建一个新的箭头函数。@NickParsons谢谢。关于第一个问题:(调用函数声明是否会创建一个新的…)这种解释正确吗?不确定我是否完全理解您的问题,但如果您创建一个函数声明:
function foo(){…}
,然后在以后调用它,在这种情况下,
foo
是对内存中函数对象的引用,因此使用
foo
不会每次“重新创建”对象并执行它,而是从内存中获取并执行它。然而,对于传递给onClick的函数表达式,该函数表达式将在每次渲染函数运行时创建,因此它将向内存中添加多个函数对象。