formik 在 onSubmit 处理程序中访问 initialValues 以与值进行比较
formik access initialValues in onSubmit handler for comparison with values
我有一个使用 Formik 的编辑表单。如果图片字符串已更改,我需要上传新图片。我需要比较图片字段的initialValues和图片字段的values来判断是否调用fileUpload函数上传图片和return 字符串 uri
我如何访问我的 onSubmit 处理程序中的 initialValues 以进行此比较。我一直在网上搜索并找到关于这个主题的article,但是,作者正在使用 redux 和 recompose。就我而言,我使用的是 graphql 并且没有使用任何状态管理库
在没有状态管理库的情况下是否还可以进行这样的比较? n 如何访问我的 onSubmit 处理程序中的 initialValues?
formProps 有 initialValues 和 values。 submitProps 只有值但没有 initialValues 如果字段已被用户更改,我需要进行比较
<Formik
initialValues={{
...getMusicById,
}}
onSubmit={(values, bag, ...submitProps) => {
console.log("@onSubmit ", values, bag, submitProps);
const {
session: { me }
} = this.props;
this._handleSubmit(values, bag, me);
}}
validationSchema={formValidateSchema}
render={({ isValid, isSubmitting, ...formProps }) => {
console.log("@formProps ", formProps);
return (
<React.Fragment>
<Form>
Is it possible to still do such a comparison without a state management library? n how can i access initialValues inside my onSubmit handler?
不直接 - 现成组件 (<Formik/>
) 的简单性总是有缺点。
您可以使用任何状态管理方法并将 initialValues
的值作为道具传递。
在文章 <Formik/>
中嵌入到 <FooForm/>
中并通过 HOC 进行了增强。值存储在 redux 中并作为 props 传递给 <Formik />
您可以使用简单的 class 组件及其状态(或道具)作为 initialValues
传递下去。在同一组件中定义的提交处理程序(也作为 prop 传递)将可以访问 this.state
中的 data/object。当然,您可以在功能组件中使用钩子 - useState
。
您可以使用 withFormik
HOC - props.initialValues
应该可用。
我有一个使用 Formik 的编辑表单。如果图片字符串已更改,我需要上传新图片。我需要比较图片字段的initialValues和图片字段的values来判断是否调用fileUpload函数上传图片和return 字符串 uri
我如何访问我的 onSubmit 处理程序中的 initialValues 以进行此比较。我一直在网上搜索并找到关于这个主题的article,但是,作者正在使用 redux 和 recompose。就我而言,我使用的是 graphql 并且没有使用任何状态管理库
在没有状态管理库的情况下是否还可以进行这样的比较? n 如何访问我的 onSubmit 处理程序中的 initialValues?
formProps 有 initialValues 和 values。 submitProps 只有值但没有 initialValues 如果字段已被用户更改,我需要进行比较
<Formik
initialValues={{
...getMusicById,
}}
onSubmit={(values, bag, ...submitProps) => {
console.log("@onSubmit ", values, bag, submitProps);
const {
session: { me }
} = this.props;
this._handleSubmit(values, bag, me);
}}
validationSchema={formValidateSchema}
render={({ isValid, isSubmitting, ...formProps }) => {
console.log("@formProps ", formProps);
return (
<React.Fragment>
<Form>
Is it possible to still do such a comparison without a state management library? n how can i access initialValues inside my onSubmit handler?
不直接 - 现成组件 (<Formik/>
) 的简单性总是有缺点。
您可以使用任何状态管理方法并将 initialValues
的值作为道具传递。
在文章 <Formik/>
中嵌入到 <FooForm/>
中并通过 HOC 进行了增强。值存储在 redux 中并作为 props 传递给 <Formik />
您可以使用简单的 class 组件及其状态(或道具)作为 initialValues
传递下去。在同一组件中定义的提交处理程序(也作为 prop 传递)将可以访问 this.state
中的 data/object。当然,您可以在功能组件中使用钩子 - useState
。
您可以使用 withFormik
HOC - props.initialValues
应该可用。