LoginSignup
4
1

More than 1 year has passed since last update.

Reactのonchangeは、javaScriptのonchangeとは違うらしい。

Last updated at Posted at 2022-07-28

どうやらReactは、Component.onChangeのリスナーをDOM element.oninputイベントに関連付けるようだ。
つまり、Reactのonchangeイベントは、javaScriptのoninputと同じ挙動になるらしい。

※javaScriptのイベントハンドラ
onchange - フォーカスを外したタイミングで発火する
oninput - フォームに入力があるごとに発火する

以下React公式ドキュメントから引用。
スクリーンショット 2022-07-27 23.30.52.png

しがたってjavaScriptのonChangeイベントと同じだと思って使用すると
ユーザーの入力後にイベントを発火させたい時はうまくいかない。

これを実現するには、onBlurを使えば良いが
値が手動で変更されたことを確認する必要もある。
あとはシチュエーションによって、工夫する必要がありそう。

参考文献

Reactでは、onChangeとonInputの違いは何ですか?
React の input でユーザ入力完了後に処理したい

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1