loading state 생성
const { register, handleSubmit, watch, formState: { errors } } = useForm({mode:"onChange"});
const {errorFromSubmit,setErrorFromSubmit} = useState("")
const [loading,setLoading] = useState(false)
const password = useRef();
password.current = watch("password");
loading state 컨트롤
const onSubmit = async (data) => {
try{
setLoading(true);
let createdUser = await firebase // eslint-disable-line no-unused-vars
.auth()
.createdUserWithEmailAndPassword(data.email,data.password);
console.log('createdUser',createdUser);
setLoading(false);
}catch(error){
setErrorFromSubmit(error.message)
setLoading(false);
setTimeout(()=>{
setErrorFromSubmit("");
},5000)
}
}
loading button UI
<input *type*="submit" *value*={"submit"} *disabled*={loading}/>