Formik和Yup:TypeError:无法读取未定义的属性"对象"

Sha*_*awn 15 reactjs yup formik

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

TypeError:无法读取未定义的属性"对象"

使用此代码:

validationSchema: Yup.object().shape({
  firstName: Yup.string().required()
}),
Run Code Online (Sandbox Code Playgroud)

我正在使用所有最新版本的formik,react和yup.版本是

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

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

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

谢谢!

Pan*_*nos 107

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

尝试import * as Yup from 'yup'而不是import Yup from 'yup'.

// wrong
import Yup from 'yup';

// correct
import * as Yup from 'yup';
Run Code Online (Sandbox Code Playgroud)

以下是您的示例:https://codesandbox.io/s/xlnw2x0kk4.

  • 这对我来说很麻烦,这个答案没有降级就帮了忙!谢谢。 (2认同)
  • 这应该被选为正确的答案! (2认同)
  • @Ezeewei很重要,因为在javascript中,你将如何导出你的模块有很多变化,例如.在这个例子中,他们改变了导出模块的方式,从导出包含每个函数的大对象,到导出每个函数作为命名导出. (2认同)