Controlled form:
1function LoginForm() {2 const [email, setEmail] = useState("");3 const [password, setPassword] = useState("");4 const handleSubmit = (e) => {5 e.preventDefault();6 login(email, password);7 };8 return (9 <form onSubmit={handleSubmit}>10 <input value={email} onChange={e => setEmail(e.target.value)} />11 <input type="password" value={password} onChange={e => setPassword(e.target.value)} />12 <button type="submit">Login</button>13 </form>14 );15}
Uncontrolled form:
1function LoginForm() {2 const emailRef = useRef();3 const handleSubmit = (e) => {4 e.preventDefault();5 login(emailRef.current.value);6 };7 return (8 <form onSubmit={handleSubmit}>9 <input ref={emailRef} defaultValue="" />10 <button type="submit">Login</button>11 </form>12 );13}
Libraries: React Hook Form, Formik.