У меня есть форма, которая может обрабатывать отправку несколькими способами.Разница управляется флагом в форме Значения, которые могут быть как истинными, так и ложными.
Я сталкиваюсь с этой действительно странной проблемой, когда при использовании функции Formik setValues () форма не входит вФункция handleSubmit вообще.Это просто останавливает исполнение.Однако, если я устанавливаю значение, используя просто this.props.values.x = ..., он входит в функцию и продолжает отправку формы.
Почему это происходит?
показывать код на самом деле не имеет смысла, так как описание говорит вам все, но вот как выглядит обработчик отправки:
Вызов функции подтвержденияобработчик отправки, который устанавливает значение и затем пытается вызвать handleSubmit
<Confirmation
items={this.confirmationData()}
isLoading={this.props.isSubmitting}
open={isConfirming}
preapproval={true}
submitAnother={this.submitAnother}
onClick={this.submit} //this is the submit handler
onClose={() => this.setState({ isConfirming: false })}
/>
submit = () => {
this.props.setValues({ ...this.props.values, submit: true})
this.props.handleSubmit()
}
, если первая строка изменяется на this.props.values.submit = true, однако форма отправляется с использованием функции setValues,приложение перестает выполняться после установки значения отправки равным true.