我有一种情况,我有两个事件,如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>
答案 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