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

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