我使用的useFormik
钩为我的形式。userId
是一个select
,所以最初它的值是null
,但是我的validationSchema
在能够提交表单之前将其作为必填字段。
const formik = useFormik<ApiCreditDebitCreateInput>({
initialValues: {
userId: null, // TS warning: Type 'null' is not assignable to type 'string'.ts
},
validationSchema: schema,
onSubmit,
});
然而,我在userId: null
中得到以下Typescript警告:
Type 'null' is not assignable to type 'string'.ts(2322)
我不知道如何解决这个问题,因为null
是一个有效的"初始"值为userId
,但由于我的模式,永远不允许提交。
保持这种模式简化了我的onSubmit
代码,因为我不必在那里检查空值。
谢谢!
我最终通过将userId
的初始值设置为""
来解决这个问题,而不是验证它是定义的,而是验证它在validationSchema
中的长度。
const formik = useFormik<ApiCreditDebitCreateInput>({
initialValues: {
userId: ``,
},
validationSchema: schema,
onSubmit,
});