我有一个使用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是一个函数。我如何才能通过此考试?

最佳答案

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

关于javascript - 测试Redux表单失败-typeError formProps.handleSubmit不是函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49922613/

10-09 23:22