Formik и Yup: TypeError: Невозможно прочитать свойство 'объект' из неопределенного
Я новичок в React и пробовал формик с yup для проверки. В настоящее время я получаю сообщение об ошибке ниже:
TypeError: Невозможно прочитать свойство 'object' из неопределенного
с этим кодом:
validationSchema: Yup.object().shape({
firstName: Yup.string().required()
}),
Я использую все последние версии Formik, реагировать и да. Версии
"yup": "^0.25.1" "formik": "^0.11.11", "реагировать": "^16.4.0", "реагировать-дом": "^ 16.4.0",
Может ли кто-нибудь помочь мне решить эту проблему?
Копируется здесь https://codesandbox.io/s/lrowpj8pq7
Спасибо!
4 ответа
Это Yup
ошибка. Если вы понижаете его до 0.24.1
, это начинает работать.
Правильный ответ - не понизить версию, а изменить способ ее импорта.
Пытаться import * as Yup from 'yup'
вместо import Yup from 'yup'
,
// wrong
import Yup from 'yup';
// correct
import * as Yup from 'yup';
Вот ваш пример работы: https://codesandbox.io/s/xlnw2x0kk4.
У меня была та же проблема, и я понял, что использую в коде «да», а не «да». Ниже приведен пример кода, он отлично работает :)
import * as Yup from "yup";
const formSchema = Yup.object().shape({
email: Yup.string().required().email(),
password: Yup.string().required().min(6),
});
в моем случае я забыл
export
validationSchema
function
, и доступ к другому файлу, который вызывает
undefined
для
erros.userName