withFormik 如何在 handleSubmit 中访问包装形式的道具

withFormik how to access wrapped form's props in handleSubmit

我定义:

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?

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

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