useFormik 不允许我设置 null initialValues,即使使用 validationSchema 也是如此



我使用的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,
});

相关内容

  • 没有找到相关文章

最新更新