「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > React.js でフォームを構築する : 初心者ガイド

React.js でフォームを構築する : 初心者ガイド

2024 年 8 月 28 日に公開
ブラウズ:510

Building Forms in React.js : A beginners guide

フォームは Web アプリケーションに不可欠であり、ユーザーの対話とデータ収集を可能にします。 React.js では、効率と保守性を確保するために、状態管理とコンポーネント駆動型アーキテクチャを使用してフォームを構築します。このガイドでは、React.js でフォームを構築し、アプリケーションを堅牢で使いやすいものにするためのベスト プラクティスについて説明します。
 

1.制御されたコンポーネントを使用する


React でフォーム入力を処理するには、制御されたコンポーネントが推奨される方法です。フォーム データをコンポーネントの状態に保持するため、管理と検証が容易になります。
 
すべてのフォーム入力値を状態に保存します。オブジェクトを作成し、すべての入力を状態のプロパティにマップします。以下の例

import React, { useState } from 'react';

const MyForm = () => {


  const [formData, setFormData] = useState({ name: '', email: '' });

  const handleChange = (e) => {
    const { name, value } = e.target;
    setFormData({ ...formData, [name]: value });
  };

  const handleSubmit = (e) => {
    e.preventDefault();
    console.log(formData);
  };

return (
  
)} export default MyForm

2.エラー処理


エラー処理と検証はフォームの重要な部分です。ユーザーが入力したすべての値を検証してエラーをチェックし、次のようなすべてのケースに対処する必要があります。

  • null/未定義を取得しています
  • 空の値を取得しています
  • 無効なデータ型など

ユーザー エクスペリエンスを向上させ、サーバーの負荷を軽減し、最終的にパフォーマンスを向上させるために、クライアント側の検証を実装する必要があります。 Yup などのライブラリやカスタム検証ロジックを利用して、データの整合性を確保します。

カスタム検証ロジックを実装する方法を見てみましょう

const validate = (formData) => {
  const errors = {};
  if (!formData.name) errors.name = 'Name is required';
  if (!formData.email) errors.email = 'Email is required';
  return errors;
};
const MyForm = () => {
  const [formData, setFormData] = useState({ name: '', email: '' });
  const [errors, setErrors] = useState({});
  const handleSubmit = (e) => {
    e.preventDefault();
    const validationErrors = validate(formData);
    if (Object.keys(validationErrors).length === 0) {
    console.log(formData);
    } else {
    setErrors(validationErrors);
  }
};
return (
  
{errors.name && {errors.name}} {errors.email && {errors.email}}
); };


作業を容易にするために、Yup パッケージを使用してフォーム データをスムーズに検証する必要があります。これは、React-Hook-Form や Formik などのフォーム ライブラリで使用される非常に人気のあるパッケージです。
はいドキュメント: https://www.npmjs.com/package/yup
 

3.サードパーティのライブラリを活用する


Formik や React Hook Form などのライブラリはフォーム管理を簡素化し、すぐに使える強力な機能を提供し、開発者がよりスケーラブルで柔軟な方法でフォームの構築と検証を容易にします

Formik の使用:

ドキュメント:- https://formik.org/docs/overview

import React from 'react';
import ReactDOM from 'react-dom';
import { Formik, Field, Form } from 'formik';


const BasicForm = () => (
   

Sign Up

{ await new Promise((r) => setTimeout(r, 500)); alert(JSON.stringify(values, null, 2)); }} >
); ReactDOM.render(, document.getElementById('root'));

クリックしてライブ Formik デモをチェック

結論


React.js でのフォームの構築は、次のベスト プラクティスに従うことで簡単かつ効率的に行うことができます。状態管理に制御されたコンポーネントを使用し、入力を徹底的に検証し、サードパーティ ライブラリを活用し、適切なスタイルで UX を強化し、パフォーマンスを最適化して応答性の高い堅牢なフォームを作成します。
これらのガイドラインに従うことで、フォームの信頼性、ユーザーフレンドリー、保守性を確保でき、ユーザーと開発者の両方にシームレスなエクスペリエンスを提供できます。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/dualite/building-forms-in-reactjs-a-beginners-guide-11k1?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3