Reactjs React是将事件绑定到许多dom元素的有效方法

Reactjs React是将事件绑定到许多dom元素的有效方法,reactjs,Reactjs,因为我们直接向组件添加onClick处理程序。。。例如: <button onClick={dosomething}>Click</button> 主干道看起来更干净,更易于管理。有没有办法用React组件模拟这种行为 为了增加一些透视图,我说了十几个或更多的表单元素,当它们中的任何一个被更改时,我想潜在地运行一些逻辑。它们可以是文本框、单选按钮等。您可以将事件处理程序应用于公共父元素,然后在那里处理事件: <form onChange={this.handleC

因为我们直接向组件添加onClick处理程序。。。例如:

<button onClick={dosomething}>Click</button>
主干道看起来更干净,更易于管理。有没有办法用React组件模拟这种行为


为了增加一些透视图,我说了十几个或更多的表单元素,当它们中的任何一个被更改时,我想潜在地运行一些逻辑。它们可以是文本框、单选按钮等。

您可以将事件处理程序应用于公共父元素,然后在那里处理事件:

<form onChange={this.handleChange}>
  {/* ...form elements... */}
</form>

作为一个活生生的例子,我有一个使用此技术呈现
的示例,该示例为您处理从更改的字段和提交的表单中提取数据的操作。

无需进行此优化。如果您在其他库(如jQuery)中编写代码,则会这样做,但React会自动为您执行此操作

我引述:

事件委派:React实际上不会将事件处理程序附加到节点本身。当React启动时,它开始使用单个事件侦听器在顶层侦听所有事件。安装或卸载组件时,只需从内部映射中添加或删除事件处理程序。当事件发生时,React知道如何使用此映射分派它。当映射中没有事件处理程序时,React的事件处理程序是简单的no-ops。要了解有关这一速度为何如此之快的更多信息,请参阅


在这里可以看到:

从代码的角度来看,我明白您的意思,但我想知道react是否会将此作为一种优化。如果您将类应用于某个对象,那么应用onClick处理程序有多困难?我不确定你希望达到什么目标。我想我只是不习惯这些内联处理程序。感觉很奇怪。处理程序不应该是内联的,只需将一个函数ref传递给onclick,我认为这比jQuery单击绑定样式更内联
<form onChange={this.handleChange}>
  {/* ...form elements... */}
</form>
handleChange(e) {
  this.setState({[e.target.name]: e.target.value})
}