Basic Forms Handling

Subject: React

πŸ” What Is It?

Form handling in React means managing user input (e.g., from <input>, <textarea>, <select>, etc.) using React state. In React, we use controlled components, meaning the form elements' values are controlled by React's useState.


🧠 Why Controlled Components?

  • Keeps form values in React memory, not the DOM
  • Makes it easy to validate, submit, and reset forms
  • Keeps UI and data in sync

βœ… 1. Single Input Field Example

🧠 Logic Breakdown:

StepWhat Happens
useState("")Stores input value in React state
value={name}Binds input value to state (controlled)
onChange={}Updates state as the user types
onSubmit={}Handles what happens when form submits

βœ… 2. Multiple Fields Example

πŸ” Key Concepts:

ConceptDescription
name attributeDetermines which field in state to update
setFormData({...})Keeps all form data in one object
[name]: valueDynamic key to update correct field
onChange sharedOne handler updates all fields

βœ… 3. Select, Checkbox, Textarea Inputs


⚠️ Form Handling Best Practices

βœ… Do❌ Don't
Use useState to control valuesDon't let browser handle form state
Use e.preventDefault()Avoid page reload
Use shared onChangeDon’t write a handler per input
Validate before submitDon’t blindly trust user input

βœ… Summary Table

TaskReact Way
Read inputvalue={state}
Update inputonChange={e => setState(e.target.value)}
Submit formonSubmit={handleSubmit}
Handle multipleObject state + [name]: value pattern
Prevent page refreshe.preventDefault()