Ребзи, дело обстоит так: есть форма Formik c валидацией Yup, в ней три поля - сумма, комиссия в процентах и комиссия в валюте, при изменении одного из полей комиссии в другом должен происходить пересчет от значения указанной выше суммы. Я пытаюсь обработать это дело в onChange, но тут сразу же подводные камни: 1) если пробовать через props.setFieldValue, то в валидацию прилетает старое значение введенного поля 2) если через присваивание, то в валидацию не прилетает вычисленное значение. Кто-нибудь с подобным сталкивался?
Кому-то будет полезно, если вдруг вы решили через
<Form onChange={(e) => e.target.name === ‘specific_name’ && props.setFieldValue(‘any_calculated_value’, e.target.value * 100500)}>
то не забудьте поставить третьим параметром setFieldValue false. Если этот параметр не указать, то запускается цикл валидации, в котором any_calculated_field будет с установленным значением, а specific_name со старым и вся валидация идет по одному причинному месту. Но есть подозрение, что если вам нужна будет валидация вычисленного значения, то такой подход вообще не подойдет. Засим откланиваюсь и отправляюсь спать.