manage form state use React Hooks. https://ariesjia.github.io/react-use-form/
// use yarn yarn add rc-use-form // use npm npm install rc-use-form
import useForm from 'rc-use-form'; const Demo = () => { const [form, field] = useForm({ name: '', password: '' }) const handleSubmit = (event) => { event.preventDefault() console.log(form.value) } return ( <div> <form onSubmit={handleSubmit}> <div> <label>username</label> <input type="text" {...field("name")}/> </div> <div> <label>password</label> <input type="password" {...field("password")} /> </div> <button type='submit'>submit</button> </form> </div> ) }
import useForm from 'rc-use-form'; const Demo = () => { const [form, field] = useForm({ name: '', password: '' }) const handleSubmit = (event) => { event.preventDefault() form.validate((errors) => { if(!errors) { console.log(form.value) alert('submit') } }) } return ( <div> <form onSubmit={handleSubmit}> <div> <label>username</label> <input type="text" {...field("name", { rules: [{type: "string", required: true}] })} /> { form.errors.name && <div> {form.errors.name[0].message} </div> } </div> <div> <label>password</label> <input type="password" {...field("password", { rules: [{type: "string", required: true}] })} /> { form.errors.password && <div> {form.errors.password[0].message} </div> } </div> <button type='submit'>submit</button> </form> </div> ) }
value: The form datatouched: The field had been changed by usererrors: The form validate errorsvalidate: The form validate functiongetValue: The form getValue function, always return current value
field(name, [options])
name: The field field (required).
rules: validate rules use async-validate