子组件表单在提交我的Formik表单并使用renderComponent渲染子组件后无法正常工作

时间:2018-11-22 14:57:21

标签: javascript reactjs higher-order-components recompose formik

我使用React,Recompose和Formik时遇到问题,子组件表单在提交我的Formik表单并使用renderComponent渲染子组件后无法正常工作

这是Formik的handleSubmit:

handleSubmit: async (values, { props, setSubmitting, resetForm }) => {
    try {
      props.updateOnboardingState({
        isValid : values.state,
      }, { stayOnStep: true });
      setSubmitting(false);
      resetForm({})
      props.setEligible(false);
    } catch (err) {
      props.notify.error(err.message);
      setSubmitting(false);
    }
  },

然后我像这样渲染其他组件:

export const enhance = compose<WrappedProps, {}>(
  withFormikHoc,
  withMapProps,
  branch<WithStateProps>(
    props => !props.isEligible,
    renderComponent(ValidationComponent),
    identity
  )
  );

export const MyForm = enhance(BaseComponent);

所以我的ValidationComponent会很好地呈现,但是问题是,在此组件中,我还有另一个Formik,并且其中的表单根本无法正常工作,我的意思是该组件的handleSubmit没有被触发。

这是ValidationComponent的handleSubmit,它无法触发:

handleSubmit: (values, { setSubmitting }) => {
    console.log("Is this triggred?")
  },

当我提交子表格时,什么也不会发生,没有日志,没有错误,没有任何东西,完全是困惑!任何帮助都感谢

0 个答案:

没有答案