Есть ли доступ к реквизитам Formik внутри <Field validate>

У меня есть 2 поля. Второе поле должно быть заполнено автоматически после подтверждения правильности ввода первого поля. Чтобы заполнить второе поле, мне нужно получить доступ к вспомогательным методам formik, которые обычно находятся внутри <Field>.

Часть кода, связанная с formik:

const validateRoutingNumber = (value: string) => {
  // props.form.setFieldValue('financialInstitution', 'ANYTHING'); <---- Can do something like this?
  return;
}

<Formik initialValues = {initialValues} validationSchema = {Schema} validateOnMount onSubmit = {submitForm}>
   <Form>  
    <Field name = "routingNumber" validate = {validateRoutingNumber}>
      {(props: FieldProps) => (
        <TextField
          variant = "outlined"
          {...props.field}
          {...textErrors(props.meta)}
          type = "text"
          inputProps = {{'aria-label': t('routingNumber')}}
        />
      )}
    </Field>

Есть ли способ получить доступ к props внутри <Field>, как мы делаем внутри <TextField>?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
356
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я узнал, что могу получить доступ к нужным свойствам формы. Аналогично тому, как предоставляется доступ к свойствам формика на <TextField> уровне, доступ может быть предоставлен на <Formik> уровне с помощью техники рендеринга реквизита.

Часть кода для обеспечения желаемого поведения:

const validateRoutingNumber = async (value: string, formikProps: FormikProps<any>) => {
  console.info('formikProps', formikProps);
  ....
}

<Formik initialValues = {initialValues} validationSchema = {Schema} validateOnMount onSubmit = {submitForm}>
  {(formikProps: FormikProps<any>) => (
    <Form>  
      <Field name = "routingNumber" validate = {(value: string) => validateRoutingNumber(value, formikProps)}>
        {(props: FieldProps) => (
        <TextField

На ютубе есть хорошие видеоматериалы по использованию формика - https://thewikihow.com/video_0TFIBPyitXo

Другие вопросы по теме