【问题标题】:Testing redux form fails - typeError formProps.handleSubmit is not a function测试 redux 表单失败 - typeError formProps.handleSubmit 不是函数
【发布时间】:2018-09-30 01:08:54
【问题描述】:

我有一个使用 redux form 的组件,我向它传递 redux 表单道具,如下所示:

export const UttakInfoPanel = ({
  submitValidation,
  ...formProps
})

我将 submitValidation 函数传递给 redux 表单 handleSubmit 函数,如下所示:

<form onSubmit={formProps.handleSubmit(submitValidation)}>

提交验证工作正常。 我还对该组件进行了测试:

it('will show InfoPanel', () => {
    const formProps = {
      handleSubmit: sinon.spy,
      error: {},
    };

    const wrapper = shallowWithIntl(<InfoPanel
      submitValidation={sinon.spy()}
      formProps={formProps}
    />);
  });

但是,当我运行测试时,我得到:

TypeError: formProps.handleSubmit 不是函数

为什么我会收到此错误,同时在控制台中检查 formProps 时,我可以看到 handleSubmit 是一个函数。我怎样才能使这个测试通过?

【问题讨论】:

    标签: javascript reactjs redux-form enzyme


    【解决方案1】:

    如果您使用的是 rest 运算符,则最后一个参数将具有 Array 类型,请尝试从 UttakInfoPanel 组件中删除展开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-16
      • 2020-08-18
      • 2017-01-03
      • 2020-06-04
      • 2017-02-11
      • 2018-10-22
      • 1970-01-01
      相关资源
      最近更新 更多