我为redux-form设置了asyncValidation。我只是想通了,在传递给asyncValidate函数的values对象中,更改的字段始终未定义。
让我们说我将字段firstname从“abc”更改为“abcd”一切正常,状态会更新。我得到以下操作:(redux-form /)FOCUS,CHANGE,BLUR,START_ASYNC_VALIDATION和STOP_ASYNC_VALIDATION。 但是,在asyncValidate函数中:
handledAsyncValidate = values => {
console.log('values', values)
}
直接在更改后我得到:{firstname:undefined,lastname:''} 但是当我在lastname上触发asyncValidation时,firstname定义为“abcd”。
我使用redux-form 6.5。有没有改变我实施了错误的方式?我不使用asyncValidateFields,但我测试了它并没有改变描述的效果。
修改
它是一个相当大的代码库。 在这里,我创建我的asyncValidation函数并将其传递给表单: https://github.com/tocco/tocco-client/blob/pr/entity-browser/form-refactoring/packages/entity-browser/src/routes/detail/components/DetailView/DetailView.js
当我在那里记录值时,更改的字段将是未定义的。
您可以在此处找到表格:
非常高兴,所以帮助您找到具体的东西。