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

Shawn picture Shawn · Jun 8, 2018 · Viewed 11.1k times · Source

I am new to React and was trying out formik with yup for the validation. I am currently getting the error below:

TypeError: Cannot read property 'object' of undefined

with this code:

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

I am using all the latest versions of formik,react and yup. The versions are

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

Could some one help me to resolve this issue?

It is replicated here https://codesandbox.io/s/lrowpj8pq7

Thanks!

Answer

Panos Bechlivanos picture Panos Bechlivanos · Jun 13, 2018

The correct answer is not to downgrade, but to change how you import it.

Try import * as Yup from 'yup' instead of import Yup from 'yup'.

// wrong
import Yup from 'yup';

// correct
import * as Yup from 'yup';

Here is your example working: https://codesandbox.io/s/xlnw2x0kk4.