如何为两个或多个事件添加一个事件侦听器

时间:2017-10-13 09:09:45

标签: javascript reactjs

我有一种情况,我有两个事件,如onClick& onSelect,我有两个相同的事件处理程序。我想知道在这些情况下编写的最佳方法是什么,我们应该编写一个公共方法,然后根据事件类型调用事件处理程序,或者在事件处理程序相同的情况下我可以使用一些语法。 只是想尽可能少保存一些代码。另外请考虑一下我有四个事件和相同事件处理程序的情况。

<HAComboLink 
  label= {toI18Text(intl, "edit")}
  value="edit" 
  onClick={onEditCustomFieldClick(id)} 
  onSelect={onEditCustomFieldClick(id)} 
  id="edit"
>
  <HAItem id="makeInactive" value="active" tabIndex="0">
    {toI18Text(intl, "make.inactive.label")}
  </HAItem>
</HAComboLink>

1 个答案:

答案 0 :(得分:0)

我经常看到的模式是在每个单独的事件处理函数中调用“common”处理程序。

<Component onBlur={this.handleBlur} onInput={this.handleInput}  />

handleBlur = event => this.emitChange(event)

handleInput = event => this.emitChange(event)

emitChange = event => //do some common task