ホームページ > ウェブフロントエンド > CSSチュートリアル > 反応のフォームとイベントを理解する

反応のフォームとイベントを理解する

Jennifer Aniston
リリース: 2025-03-04 09:35:10
オリジナル
296 人が閲覧しました

このチュートリアルでは、Reactイベント、制御されたコンポーネント、イベント処理について説明し、管理されたフォームを構築し、子から親コンポーネントにデータを発する方法を示します。 Reactを使用してユーザープロファイルフォームを作成しましょう

最初に、新しいReactアプリを作成します。

にあるコンポーネントは、ユーザープロファイルの詳細のフォームをレンダリングします。 ルートコンポーネントにインポート(

):UserProfile src/UserProfile.js src/App.js

import UserProfile from './UserProfile';

function App() {
  return (
    <div classname="App">
      <userprofile></userprofile>
    </div>
  );
}

export default App;
ログイン後にコピー
を使用してフォームをスタイルします

src/App.cssレンダリングされたフォームは、最初はアプリケーション状態にバウンドされません。 フォーム入力を州に接続するには、イベントハンドラーを使用します。

イベントの反応
.App {
  text-align: left;
  margin-left: 20%;
  margin-right: 20%;
}

label {
  display: inline-block;
  margin-right: 1em;
  width: 4em;
}

input {
  width: 15em;
}
ログイン後にコピー

Reactイベントは、ユーザーインタラクションまたはシステムイベント(クリック、キープレス、ページのロードなど)によってトリガーされるアクションです。 入力の変更を処理するために、

イベントを使用します。

の入力を変更します

同様に、それぞれの状態変数とonChangeフックを使用して、nameUserProfile.js、および

入力を更新します。
<input id="name-field" type="text" value="{name}" onchange="{(e)"> setName(e.target.value)}
/>
ログイン後にコピー
状態を記録するには、関数を

emailに追加します age password[送信]ボタンを更新して、useState

を呼び出します

UserProfile.js [送信]フォームデータをコンソールにクリックします。 これは、双方向のデータバインディングを示しています:ビューの変更状態を更新し、状態の変更はビューを更新します。 イベントを放射する

const logState = () => {
  console.log(name);
  console.log(email);
  console.log(age);
  console.log(password);
};
ログイン後にコピー

子からのデータを親(logState)に送信するには、イベントを発します。

<button onclick="{logState}">Submit</button>
ログイン後にコピー

関数を追加します

[送信]ボタンを更新して、

を呼び出します UserProfile Appさて、emitでは、コールバック関数を追加して、それを小道具としてUserProfile.js

に渡します
const emit = () => {
  props.callback({ name, email, age, password });
};
ログイン後にコピー

ここで、フォームの送信は親コンポーネントを更新し、提出されたデータを表示します。 emit

<button onclick="{emit}">Submit</button>
ログイン後にコピー

App.js UserProfileこれにより、チュートリアルが完成します。 制御されたコンポーネントを作成し、イベントを処理し、Reactでイベントを発する方法を学びました。プレースホルダーの画像パスを実際の画像パスに置き換えることを忘れないでください。

以上が反応のフォームとイベントを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート