Formik 和 Yup:类型错误:无法读取未定义的属性“对象”

问题描述 投票:0回答:4

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

类型错误:无法读取未定义的属性“对象”

使用此代码:

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

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

“是的”:“^0.25.1”“formik”:“^0.11.11”,“反应”:“^16.4.0”, "react-dom": "^16.4.0",

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

复制到这里 https://codesandbox.io/s/lrowpj8pq7

谢谢!

reactjs formik yup
4个回答
131
投票

正确的答案不是降级,而是改变导入方式。

尝试用

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


1
投票

我遇到了同样的问题,然后我意识到我在代码中使用了 yup 而不是 Yup。下面是代码示例,它运行得很好:)

import * as Yup from "yup";

const formSchema = Yup.object().shape({
  email: Yup.string().required().email(),
  password: Yup.string().required().min(6),
});

0
投票

就我而言,我忘记了

export
validationSchema
function
,并在其他文件中访问,这导致了
undefined
erros.userName


0
投票

对我来说注册所需的字段有帮助:

{...register('birthDate')}
© www.soinside.com 2019 - 2024. All rights reserved.