当可空值更改为未定义时,将 Formik 的脏状态重置为 'false'

Reset Formik's dirty state to 'false' when a nullable value is changed to undefined

我正在使用提取来填充 Formik 的初始值。其中一个字段是获取结果(密码)中的null

当我在一个字段中使用它,并将输入字段更改为一个值时,表单的脏状态变为 true。

然后当我再次删除该值时,Formik 将保留 'dirty'。由于 Formik 使字段 'undefined' 而不是 'null'.

有人对此有解决方法吗?

Codesandbox:https://codesandbox.io/s/strange-cerf-29xw6

当您的值为 null 时,您会收到以下警告:

Warning: value prop on input should not be null. Consider using an empty string to clear the component or undefined for uncontrolled components.

所以你需要做的是当你收到请求时,你必须将它设置为 '' 当一些 prop 是 null / undefined .

请注意,您不能有 null 值,也不能有 undefined,这会破坏输入处理。