フォームは、Web アプリケーションでユーザー入力を収集するために不可欠です。 React でのフォームの管理は、特に検証、複数ステップのプロセス、ファイルのアップロードを処理する場合に複雑になる可能性があります。このガイドでは、状態によるフォームの管理、ref の使用、検証の実装、複雑なフォームの処理について詳しく説明します。
制御されたコンポーネントは、フォームデータがコンポーネントの状態によって処理されるコンポーネントです。このアプローチにより、React がフォーム入力を完全に制御し、フォームの動作が予測可能かつ管理可能になります。
制御されたコンポーネントを作成するには、フォーム データの状態を設定し、ユーザー入力に基づいて状態を更新します。
例:
この例では、useState がフォーム データを管理し、ユーザーが入力フィールドに入力するたびに handleChange 関数が状態を更新します。
非制御コンポーネントは DOM に依存してフォーム データを処理します。 DOM 要素からフォーム データに直接アクセスするには、refs を使用します。
制御されていないコンポーネントを作成するには、useRef フックを使用してフォーム要素の参照を作成します。
例:
この例では、フォームの送信時に、nameRef 参照と emailRef 参照を使用して、DOM 要素から入力値に直接アクセスします。
フォームの検証は、ユーザー入力が送信前に必要な基準を満たしていることを確認するために不可欠です。
フォームの送信ハンドラーで入力値をチェックすることで、基本的な検証を追加できます。
例:
この例では、validate 関数は名前と電子メールのフィールドが空かどうかを確認し、それに応じてエラー メッセージを設定します。
フォーム検証用のサードパーティ ライブラリFormik と Yup の例:
リーリー
複雑なフォーム管理
例:
リーリー
フォームでのファイルのアップロードの処理
例
:
リーリー
結論
以上が中レベル: React でのフォームの管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。