【发布时间】:2020-04-01 11:15:23
【问题描述】:
我开始使用<AutoSave/>创建的by Jared Palmer组件:
const AutoSave = ({debounceMs}) => {
const formik = useFormikContext()
const debouncedSubmit = useCallback(
debounce(formik.submitForm, debounceMs),
[formik.submitForm, debounceMs]
)
useEffect(() => debouncedSubmit, [debouncedSubmit, formik.values])
return <>{!!formik.isSubmitting && 'saving...'}</>
}
主要问题是当我进入页面时,<AutoSave/>在页面挂载后提交表单,如何防止这种行为?
例子:
<Formik onSubmit={values => callMyApi(values)} initialValues={{bla: 'bla-bla'}}>
{() => (
//...My beautiful field components...
<AutoSave debounceMs={300}/>
)}
</Formik>
【问题讨论】:
-
{() => ( )}你为什么在那里使用函数? -
@Deda,我应该改用什么?检查 Formik 2 版本,不推荐使用渲染道具
标签: javascript reactjs typescript forms formik