在箭头函数中调用函数

问题描述 投票:0回答:1

我只是想知道这是如何工作的,如果我有一个 onChange()

onChange={() => input()}

上面的代码在onChange()被触发时立即执行输入函数 但这又如何呢,它是如何工作的

onChange={() => input}

即使触发 onChange ,输入函数也不会被调用

那么,这是如何工作的以及这两者之间有什么区别

我尝试使用 CHATGPT 但它只是给出了垃圾答案

reactjs arrow-functions
1个回答
0
投票

input
是对
input
函数的引用,其中
input()
执行
input
函数并返回值。

因此,当您在没有显式括号 ({}) 的情况下调用

箭头函数
时,会自动返回该值。


因此

onChange={() => input}
将获取 input 函数的
reference
,而
onChange={() => input()}
将获取
input
函数的返回值。


有人在评论中推荐了

onChange={input}
,这会自动将所有给
onChange
的参数(如DOM事件)传递给
input
函数,记住这一点,this相当于
onChange={(e) => input(e)}

© www.soinside.com 2019 - 2024. All rights reserved.