Я думаю, что понял это, но не уверен. Я нашел несколько мест, которые ссылались на опору FormR innerRef, поэтому попробовал это, и это, кажется, работает. Нигде не упоминается, что я мог увидеть в do c или в учебном пособии, поэтому я не уверен, что это какая-то функция, которая не поддерживается, или, возможно, просто предполагается, что она используется для внутренних вещей Formik, но, похоже, она работает для меня, так что я собираюсь использовать это, пока не найду лучший путь. Я уже потратил гораздо больше времени на это, чем хочу поделиться. : |
Комментарии или предложения приветствуются. Или, может быть, вы проголосуете, если считаете, что это правильный подход.
Чтобы решить эту проблему, я добавляю useRef в основное тело функции:
const formikRef = useRef();
Затем я добавил это как проп:
<Formik
innerRef={formikRef}
initialValues={initialValues}
validationSchema={validSchema}
onSubmit={onSubmit}
>
Как только я это сделал, я смог ссылаться на функции Formik изнутри useEffect, поэтому в моем случае я сделал следующее:
if (formikRef.current) {
formikRef.current.setFieldValue(
"platformName",
dataGet.Platform.platformName
);
formikRef.current.setFieldValue(
"platformCategory",
dataGet.Platform.platformCategory
);
}