我是React的新手,正在尝试使用yup进行验证。我目前收到以下错误:
TypeError:无法读取未定义的属性“object”
使用此代码:
validationSchema: Yup.object().shape({
firstName: Yup.string().required()
}),
我正在使用所有最新版本的formik,react和yup。
版本“是”:“^ 0.25.1”“formik”:“^ 0.11.11”,“反应”:“^ 16.4.0”, “react-dom”:“^ 16.4.0”,
有人可以帮我解决这个问题吗?
这里复制了 https://codesandbox.io/s/lrowpj8pq7
谢谢!
答案 0 :(得分:75)
正确答案不是降级,而是改变导入方式。
尝试使用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 :(得分:0)
我遇到了同样的问题,然后我意识到我在代码中使用的是 yup 而不是 Yup。下面是代码示例,它完美运行:)
import * as Yup from "yup";
const formSchema = Yup.object().shape({
email: Yup.string().required().email(),
password: Yup.string().required().min(6),
});
答案 2 :(得分:-1)
这是一个Yup
错误。如果您将其降级为0.24.1
,它就会开始工作。