我只是想知道这是如何工作的,如果我有一个 onChange()
onChange={() => input()}
上面的代码在onChange()被触发时立即执行输入函数 但这又如何呢,它是如何工作的
onChange={() => input}
即使触发 onChange ,输入函数也不会被调用
那么,这是如何工作的以及这两者之间有什么区别
我尝试使用 CHATGPT 但它只是给出了垃圾答案
input
是对 input
函数的引用,其中 input()
执行 input
函数并返回值。
因此,当您在没有显式括号 ({}
) 的情况下调用
箭头函数时,会自动返回该值。
因此
onChange={() => input}
将获取 input
函数的 reference,而
onChange={() => input()}
将获取 input
函数的返回值。
有人在评论中推荐了
onChange={input}
,这会自动将所有给onChange
的参数(如DOM事件)传递给input
函数,记住这一点,this相当于onChange={(e) => input(e)}