React で onChange イベントを使用する

イベントシステムは、React フレームワークに含まれる最も便利な機能の 1つです。
特に onChange
イベントは、React で最も頻繁に処理されるイベントの 1つです。これは、バニラ JavaScript でよく知られている onchange
属性に基づいていますが、React の onChange
イベントにはいくつかの追加機能が含まれています。
また、開発者が通常の JavaScript イベントと区別できるようにキャメルケースで記述されています。
onChange
イベントがどのように機能するかを正確に理解すると、より強力で動的なフォームを作成するのに役立ちます。
React の入力での onChange
について
React では、onChange
イベントは、ユーザーの入力が何らかの方法で変更されたときに発生します。ユーザーが追加のテキストを入力したり、別のオプションを選択したり、チェックボックスをオフにしたり、その他の同様のインスタンスを実行したりすると、入力が変わる可能性があります。
チェックボックス入力があり、ユーザーの選択(boolean
値)を状態に格納する必要がある状況を想像してみてください。このシナリオでは、onChange
が非常に役立ちます。ユーザーが入力について気が変わってチェックを外すたびに、状態が更新されます。
次に例を示します。
return (
<input type="checkbox" onChange={(e) => this.setState("status": e.target.value)}/>
)
これは、onChange
イベントがいかに役立つかを示す簡単なデモンストレーションです。
コンポーネント state
に入力値を格納することにより、この要素を制御された入力にします。この用語は、内部状態が React コンポーネントの state
とマージされて、信頼できる唯一の情報源を提供する入力を表します。
JSX では、JavaScript 式を 2つの中括弧の間に配置する必要があることに注意してください。ハンドラーを個別に定義して、中括弧内で呼び出すこともできます。
例えば:
<input type="checkbox" onChange={(e) => handleChange(e)}/>
より複雑なハンドラー関数の場合、これはより読みやすいアプローチになります。
React の onChange
イベントを手動でトリガーする
場合によっては、デフォルトの動作をバイパスして、onChange
イベントを手動でトリガーする必要があります。
ブラウザがパスワードを自動入力したと想像してください。onChange
は起動しませんが、アニメーションを実行するにはパスワードが必要です。このシナリオでは、onChange
を手動でトリガーする必要があります。
同じイベントのインスタンスが重複しないようにするために、React が意図的に一部のイベントを飲み込んで実行しない場合があります。解決策は、ネイティブ値セッターsetNativeValue()
を使用することです。この問題を深く理解するには、この役立つブログ記事を確認してください。
Irakli is a writer who loves computers and helping people solve their technical problems. He lives in Georgia and enjoys spending time with animals.
LinkedIn