Formik and Yup : TypeError: Cannot read property 'object' of undefined

Formik and Yup : TypeError: Cannot read property 'object' of undefined

我是 React 的新手,正在尝试使用 yup 的 formik 进行验证。我目前收到以下错误:

TypeError: Cannot read property 'object' of undefined

使用此代码:

validationSchema: Yup.object().shape({
  firstName: Yup.string().required()
}),

我正在使用所有最新版本的 formik、react 和是的。版本是

"yup": "^0.25.1" "formik": "^0.11.11", "react": "^16.4.0", "react-dom": "^16.4.0",

有人可以帮我解决这个问题吗?

此处复制 https://codesandbox.io/s/lrowpj8pq7

谢谢!

如果您将 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

我遇到了同样的问题,然后我意识到我在代码中使用的是 yup 而不是 Yup。下面是代码示例,它完美地工作:)

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 for erros.userName