withFormik如何在handleSubmit中访问包装的表单的道具

时间:2018-09-15 21:26:02

标签: 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?

1 个答案:

答案 0 :(得分:3)

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

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