Javascript 我不知道';不理解onClick={()=>;onClick()}(初学者问题)
所以我在react中创建了我的第一个应用程序。在我的代码中,你可以找到我的应用程序的组件,包括按钮。我不理解的代码部分是Javascript 我不知道';不理解onClick={()=>;onClick()}(初学者问题),javascript,onclick,Javascript,Onclick,所以我在react中创建了我的第一个应用程序。在我的代码中,你可以找到我的应用程序的组件,包括按钮。我不理解的代码部分是onClick={()=>onClick()}。谁能用简单的话向我解释一下,这段代码到底是做什么的 import './Button.scss'; import React from 'react'; export default function Button({ children, primary, bordered, onClick, type }) { retur
onClick={()=>onClick()}
。谁能用简单的话向我解释一下,这段代码到底是做什么的
import './Button.scss';
import React from 'react';
export default function Button({ children, primary, bordered, onClick, type }) {
return (
<button
className={`button ${primary ? 'primary' : ''} ${
bordered ? 'bordered' : ''
}`}
onClick={() => onClick()}
type={type ? type : 'button'}
>
{children}
</button>
);
}
import./Button.scss';
从“React”导入React;
导出默认功能按钮({子项,主项,带边框,onClick,type}){
返回(
onClick()}
类型={type?类型:'button'}
>
{儿童}
);
}
我的想法是“当你点击这个,调用函数onClick(我没有创建任何这样的函数)”。这部分代码让我很困惑。
为什么编写
onClick={onClick}
不是正确的选项?作为该表示法的一个有用示例,假设您有两个按钮(主按钮和常规按钮)具有相同的onClick
处理程序,但您希望传递一个有关单击哪个按钮的参数:
onClick={e=>onClick(e,primary)}
因此,您的
onClick
处理程序的行为可能会有所不同,具体取决于您单击的按钮。当您单击该按钮时,它将执行onClick()
函数。第二种方法。onClick={onClick}
基本上与您的方法相同,并且可以完全正常工作。唯一的区别是onClick
的主体在任何地方使用this
关键字。[编辑:刚刚意识到这是一个函数组件,而不是一个类,在这种情况下,我不相信有任何实际情况会有任何区别。]谢谢你的回答,我很高兴知道我的应用程序没有太大区别,从你的解释中,我得到了onClick={()=>onClick()}在任何情况下使用都更好,但功能没有区别,对吗?谢谢你的示例解释,帮了我很多:)