Form is returning empty data object, but it should return values typed in form. onSubmit function should console.log values given in form, but I don't know why it does not working. Please check it out.
function App() {
const { register, handleSubmit } = useForm();
const onSubmit = (data, e) => {
e.preventDefault();
console.log(data);
console.log('sent');
};
const onError = (errors, e) => console.log(errors, e);
return (
<div className="App">
<header className="App-header">
<form onSubmit={handleSubmit(onSubmit, onError)}>
<input
name="email"
autoComplete="off"
placeholder="Your email"
ref={register({ name: "email" }, { required: true, pattern: /^\S+@\S+$/i })}
/>
<select
defaultValue="default"
name="select1"
ref={register({ name: "select1" }, { required: true })}
>
<option value="default" disabled>default</option>
<option value="A">A</option>
<option value="B">B</option>
</select>
<textarea
name="message"
placeholder="Your message"
ref={register({ name: "message" }, { required: true })}
/>
<button type="submit">Send</button>
</form>
</header>
</div>
);
}