Handling Multiple Inputs

When working with multiple input fields, you can use a single state object and dynamically update fields using their name attribute.

function SignupForm() {
  const [form, setForm] = useState({ username: "", email: "" });

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

  return (
    <form>
      <input name="username" value={form.username} onChange={handleChange} />
      <input name="email" value={form.email} onChange={handleChange} />
      <p>Username: {form.username}</p>
      <p>Email: {form.email}</p>
    </form>
  );
}
  • Use name to identify which field to update.
  • Spread operator ensures immutability when updating state.
← PrevNext →