react-hook-form / resolvers

📋 Validation resolvers: Yup, Zod, Superstruct, Joi, Vest, Class Validator, io-ts, Nope, computed-types, typanion, Ajv, TypeBox, ArkType, Valibot, effect-ts and VineJS
https://react-hook-form.com/
MIT License
1.71k stars 155 forks source link

TypeScript error after upgrading to >= v3.1.1 #631

Open ThomasSertorio opened 11 months ago

ThomasSertorio commented 11 months ago

Describe the bug I am building a form with a "dynamic" Yup schema. According to some user actions, the set of inputs to fill in is selected among different choices. I have this "working" with @hookform/resolvers 3.1.0 but when upgrading to 3.1.1 or above, I get a TypeScript error on the resolver type.

To Reproduce Step to reproduce the behavior:

Codesandbox link (Required) Sandbox: https://codesandbox.io/s/serene-glitter-lct3zp?file=/src/App.tsx

Desktop (please complete the following information):

nikitalepikhin commented 10 months ago

I wanted to create an issue regarding this error but turns out there is already this one. However, I have already created a playground to showcase this error. Perhaps my playground would be easier to understand.

Codesandbox link: https://codesandbox.io/s/relaxed-chatterjee-p5scpp?file=/src/App.tsx.

Steps to reproduce the error:

SCR-20231003-kkaj

Callenowy commented 10 months ago

Yeah, the mentioned issue occurs also in my project

eslint-any-error

crow7m commented 10 months ago

Hi, thank you for the great library, any ideas on how to fix this ? meanwhile rolled back to 3.0.0

mpash commented 10 months ago

Ran into this myself recently.

Yup v1.* has a compiler flag requirement.

You must have the strictNullChecks compiler option enabled for type inference to work. https://github.com/jquense/yup#typescript-configuration

I also defined my schema and typed it using the ObjectSchema generic which accepts the expected object structure inside of it. https://github.com/jquense/yup#ensuring-a-schema-matches-an-existing-type


Versions:

@hookform/resolvers 3.3.2
react-hook-form 7.47.0
yup 1.3.2
Callenowy commented 10 months ago

It looks like this issue is gone after upgrading @hookform/resolvers to the latest version.

jilv220 commented 10 months ago

The issue is gone for me after updated to the latest version as well.