React Form Component నిర్మాణ గైడ్

Reactలో ఫారమ్‌లను నిర్మించడానికి జాగ్రత్తగా state management అవసరం. ఈ గైడ్ మీరు మొదటి నుండి ఒక రిజిస్ట్రేషన్ ఫారమ్‌ను ఎలా నిర్మించాలో చూపిస్తుంది.

మీరు నాలుగు ప్రధాన అంశాలను నేర్చుకుంటారు:

State Management అన్ని ఫారమ్ ఫీల్డ్‌లను ఒకే state ఆబ్జెక్ట్‌లో నిల్వ చేయండి. పేరు, వయస్సు, ఈమెయిల్ మరియు పాస్‌వర్డ్‌లను ట్రాక్ చేయడానికి useState హుక్‌ను ఉపయోగించండి.

Handling Inputs అన్ని ఇన్‌పుట్ మార్పులను నిర్వహించడానికి ఒకే ఫంక్షన్‌ను ఉపయోగించండి. పాత డేటాను స్ప్రెడ్ (spread) చేయడం ద్వారా మరియు ఇన్‌పుట్ పేరు ఆధారంగా కొత్త విలువను జోడించడం ద్వారా మీరు stateని అప్‌డేట్ చేస్తారు.

Form Validation సబ్మిట్ చేసే ముందు అన్ని ఫీల్డ్‌లలో డేటా ఉందో లేదో తనిఖీ చేయండి. ఏదైనా ఫీల్డ్ ఖాళీగా ఉంటే అలర్ట్ (alert) చూపండి.

Keyboard Support Enter కీ కోసం ఒక లిజనర్ (listener)ను జోడించండి. ఇది బటన్‌ను క్లిక్ చేయకుండానే వినియోగదారులు ఫారమ్‌ను సబ్మిట్ చేయడానికి అనుమతిస్తుంది.

కోడ్ ఉదాహరణ:

import { useState } from "react";

function FormValidation() {
  const [userdata, setUserdata] = useState({
    name: "",
    age: "",
    mobile: "",
    email: "",
    dob: "",
    password: ""
  });

  function getdata(e) {
    const { name, value } = e.target;
    setUserdata({
      ...userdata,
      [name]: value
    });
  }

  function validate() {
    const { name, age, mobile, email, dob, password } = userdata;
    if (name && age && mobile && email && dob && password) {
      alert("Submitted successfully");
    } else {
      alert("Please fill all fields");
    }
  }

  function handlekey(e) {
    if (e.key === "Enter") {
      validate();
    }
  }

  return (
    <form onKeyDown={handlekey}>
      <input name="name" onChange={getdata} value={userdata.name} />
      <input name="age" onChange={getdata} value={userdata.age} />
      <input name="mobile" onChange={getdata} value={userdata.mobile} />
      <input name="email" onChange={getdata} value={userdata.email} />
      <input name="dob" onChange={getdata} value={userdata.dob} />
      <input name="password" type="password" onChange={getdata} value={userdata.password} />
      <button type="button" onClick={validate}>Submit</button>
    </form>
  );
}

మూలం: https://dev.to/jayashree_a84b6eff7bc414e/react-form-component-blog-explanation-with-code-3enh