2017-10-13 13 views
1

私はonClickのような2つのイベントがonClickにあり、両方に対して同じイベントハンドラがあります。これらのケースでは、どのような方法で記述すればよいか知りたいのですが、共通のメソッドを記述し、イベントハンドラを呼び出すか、イベントハンドラが同じ場合に使用できる構文がいくつかあります。 可能であれば、ほんの少しのコードを節約したかっただけです。また、私は4つのイベントとすべてのイベントハンドラが同じだと考えています。2つ以上のイベントに1つのイベントリスナーを追加する方法

+1

実用的ではありません。ある種のグローバルなリスナーを持っていても、それは**あなたのコードにもっと多くの行を追加するだけで、あなたを救うことはできません。 – Chris

+0

はい、そうです:) – Gautam

+0

私は考えることができると思いますが、行が本当に重要であれば、あなたの関数を呼び出す関数を持つことになります。つまり、onClick = {x(id)} onSelect = {x(id)} 'のようなもので、' x() 'は' onEditCustomFieldClick(id) 'を呼び出します。 – Chris

答えて

0

個別のイベントハンドラ関数のそれぞれで「共通」ハンドラを呼び出すパターンがよくあります。

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

handleBlur = event => this.emitChange(event) 

handleInput = event => this.emitChange(event) 

emitChange = event => //do some common task 
関連する問題