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

Irakli Tchigladze 2023年1月30日 2022年1月24日
  1. React の入力での onChange について
  2. React の onChange イベントを手動でトリガーする
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 Tchigladze avatar Irakli Tchigladze avatar

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

関連記事 - React Event