Javascript 为什么React中的事件在第二个关键字中有大写字母?

Javascript 为什么React中的事件在第二个关键字中有大写字母?,javascript,reactjs,Javascript,Reactjs,我是新来的反应者,只是一个关于反应事件中一个怪癖的问题。我知道JSX是html和js的混合体,下面是一个示例: <button onClick={this.handleClick}>Click</button> 点击 但在html中,它是: <button onclick="handleClick()">Click</button> 点击 那么,为什么要让第二个单词的第一个字母成为大写字母呢?为什么不可能 <button onclic

我是新来的反应者,只是一个关于反应事件中一个怪癖的问题。我知道JSX是html和js的混合体,下面是一个示例:

<button onClick={this.handleClick}>Click</button>
点击
但在html中,它是:

<button onclick="handleClick()">Click</button>
点击
那么,为什么要让第二个单词的第一个字母成为大写字母呢?为什么不可能

<button onclick={this.handleClick}>Click</button>
点击

这就是React事件的命名方式,这些事件不同于普通HTML事件,因为它们能够完成一系列其他事情。至于它们为什么这样命名,它们使用camelCase标准

我建议您看看这个页面,回答更多关于React中事件的问题:

,因为这是为了性能和跨浏览器兼容性


因此,DOM元素及其属性(包括事件处理程序)应该是驼峰式的。

阅读合成事件:因为它是JSX,而不是普通的HTML。同样的原因,您必须使用
className
而不是
class
,因为JSX不是常规的HTML和JS,这是它自己的特殊语法。@Jayce444之所以使用
className
而不是
class
,是因为
class
在JavaScript中是保留关键字。@SibasishMohanty onClick不是保留关键字,是吗?@amjad不,不是。保留词是指在语言语境中具有特殊意义的词。onClick函数对语言javascript没有特殊意义,但只对浏览器有意义,因此它不是保留字。