Я проверяю ввод с помощью formik
, когда моя форма заполнена, он вызывает функцию handleSubmit
, но эта функция находится за пределами моего компонента ловушки, поэтому я не могу вызвать dispatchs
.
Как я могу поместить handleSubmit
logi c в мой компонент крюка?
Это мой код:
const schema = Yup.object().shape({
email: Yup.string().email('Email don't have a valid format').required('Fill the email!'),
password: Yup.string().required('Fill the password')
})
const enhanceWithFormik = withFormik({
mapPropsToValues: () =>
({
email: '', password: ''
}),
handleSubmit: values => {
registerFirstData(values)
},
validateOnMount: false,
validateOnChange: true,
validateOnBlur: true,
displayName: 'RegistrarForm',
validationSchema: schema
})
const Register = props => {
const {
values,
touched,
errors,
isSubmitting,
handleChange,
handleBlur,
handleSubmit
} = props;
return (
<form onSubmit={handleSubmit} className={classes.form} noValidate>
...
</form>
)
}
export default enhanceWithFormik(Register);
Что я пробовал:
const Register = props => {
const { enqueueSnackbar } = useSnackbar();
const handleSubmit = values => {
console.log(values)
}
const {
values,
touched,
errors,
isSubmitting,
handleChange,
handleBlur,
// Removed handleSubmit from here
} = props;
return (
<Form onSubmit={handleSubmit} className={classes.form} noValidate>
...
)
Но при этом моя страница перезагружается, когда я нажимаю кнопку подтверждения