アンダースコアの範囲外のイベントオブジェクト参照でプロパティが変更された場合。 jQueryのようなlibを使用すると、問題なく参照できる合成イベントオブジェクトを作成するのに役立つ場合があります。
はい、これはアンダースコアの範囲外です。 gator
のようなDOMイベントマイクロフレームワークを考えてみましょう
これは、jQueryで動作する例です。
currentTarget
this
取得できます; 私はこの号を開いて、私が見ているものが実際に期待される動作であることを確認しました。
@jridgewell ReactonChangeでこれを回避する方法についてのアイデア。 デバウンスを使用しない場合、onChange関数で適切なイベントにアクセスできますが、 _.debounce
を使用すると、適切なevent
が失われます-以下を参照してください
// in my render
<input onChange={ _.debounce(this.updateNote.bind(this), 500) } />
// my change handler
updateNote(event) {
// undefined on event.target, get lodash event not <input/> event target
const note = event.target.value
this.sendNote({ note })
}
私の2番目の提案を参照してください。
これは実装の問題です。 イベントを永続化する必要があります。 onChangeはpersistを呼び出し、永続化されたイベントをデバウンスされたハンドラーに渡します。
onChange_persist = (e) =>
{
e.persist();
e.onChange_debounced(e);
}
最も参考になるコメント
@jridgewell ReactonChangeでこれを回避する方法についてのアイデア。 デバウンスを使用しない場合、onChange関数で適切なイベントにアクセスできますが、
_.debounce
を使用すると、適切なevent
が失われます-以下を参照してください