reactjs - withFormik如何在handleSubmit中访问包装表单的 Prop

标签 reactjs formik

我定义:

class Form1 extends React.Component{
....
}

然后使用 withFormic 定义 HOC:

const Form2 = withFormik({
  handleSubmit(values, { resetForm, setErrors, setSubmitting }) {
    ...
  },
....
})(Form1);

在父组件中,我指定了一个回调函数:

<Task2 callback={this.something} />

现在,我希望handleSubmit调用回调函数。 我会这样做

this.props.callback()

但似乎 this 没有在 HOC 中定义。

问题:如何在 HOC 中访问 Form1.props?

最佳答案

您需要将 props 作为 handleSubmit 中的第二个参数之一传递,并且可以按如下方式访问 props:

const Form2 = withFormik({
handleSubmit(values, { props, resetForm, setErrors, setSubmitting }) {
...
props.callback();
},
....
})(Form1);

关于reactjs - withFormik如何在handleSubmit中访问包装表单的 Prop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52349017/

相关文章:

reactjs - React Formik 中未选中复选框

reactjs - 通过 API 调用设置表单的初始值

javascript - 发布的 npm 包不应用样式

javascript - 使用 React(与 Redux)作为网站中的组件

reactjs - React Navigation 3.x 需要循环警告

reactjs - 每当 React Formik 发生错误时,更改现有输入字段的样式

reactjs - material-ui-next 组件初始化为隐藏

reactjs - 如何为 React <Route> 提供提供者?

reactjs - JSX 属性中禁止使用 Lambda,因为它们会影响渲染性能

reactjs - Formik 和 Yup - 如何为数组和字符串创建模式