如何让Yup使用typescript,混合和必需?

如何让Yup使用typescript,混合和必需?,typescript,yup,Typescript,Yup,理解yup、mixed、typescript和required是如何工作的有问题。我有这个例子 const testSchema = yup.object().shape({ mixedDemo1: yup.mixed<string | number>().required(), mixedDemo2: yup.mixed<string>().required(), mixedDemo3: yup.mixed().required() }); testSch

理解yup、mixed、typescript和required是如何工作的有问题。我有这个例子

const testSchema = yup.object().shape({
  mixedDemo1: yup.mixed<string | number>().required(),
  mixedDemo2: yup.mixed<string>().required(),
  mixedDemo3: yup.mixed().required()
});

testSchema.validate({ mixedDemo1: '', mixedDemo2: '', mixedDemo3: '' }).then((v) => console.info('validate', v));
const testSchema=yup.object().shape({
mixedDemo1:yup.mixed().required(),
mixedDemo2:yup.mixed().required(),
mixedDemo3:yup.mixed().required()
});
testSchema.validate({mixedDemo1:'',mixedDemo2:'',mixedDemo3:''})。然后((v)=>console.info('validate',v));
它不会导致抛出错误,返回值为{mixedDemo1:,mixedDemo2:,mixedDemo3:}

如果针对null或undefined进行测试,则会抛出错误,但我的库(React Hook Form)会抱怨没有默认值,以及类型与我的接口不匹配。TBH我对yup了解不够,但我发现文档中缺少示例

在这一点上,我只是在寻找“不要使用XYZ,而是使用required”。我目前的解决方案是:(a)放弃使用混合类型,坚持使用字符串(b)转换表单中的所有内容

任何帮助都将不胜感激。谢谢