在formik中,在属性onChange内部,有时会调用onChange = {formik.handleChange},有时会调用onChange = {v => formik.setFieldValue('field', v)}。这两个有什么不同?
有没有可能仅仅用formik.handleChange来代替formik.setFieldValue的使用
发布于 2020-07-22 15:17:40
handleChange返回:
handleChange: (e: React.ChangeEvent<any>) => void常规输入更改事件处理程序。这将更新values[key],其中key是发出事件的输入的name属性。如果name属性不存在,handleChange将查找输入的id属性。注意:这里的“输入”是指所有的HTML输入。
setFieldValue返回:
setFieldValue: (field: string, value: any, shouldValidate?: boolean) => void强制设置values。如果将validateOnChange设置为true (这是默认设置),则调用此函数将触发运行验证。您还可以通过将第三个参数作为false传递来显式阻止/跳过验证。
这里可以找到写有差异的doc。
https://stackoverflow.com/questions/63026535
复制相似问题