警告:React.createElement:类型无效-预期为字符串或类/函数但得到了:对象

时间:2020-03-23 13:18:40

标签: javascript reactjs testing jestjs react-proptypes

我在控制台中通过React和Jest + Enzyme测试面临以下警告/问题:

console.error node_modules/react/cjs/react.development.js:172
    Warning: React.createElement: type is invalid -- expected a string (for built-in components) 
    or a class/function (for composite components) but got: object.

生产代码正在使用组件的裸版本(由HoC导出)。

lib可以像我一样在需要时访问原始BaseComponent。 从lib / HoC导出的组件示例如下:

EnrichedComponent.WrappedComponent = BaseComponent;

所以我这样访问(它是一个按钮)

const { WrappedComponent: BaseButton } = Button;

// usage example
<BaseButton>
  hi!
</BaseButton>

在测试中,我需要模拟lib和导出的部分,所以我执行以下操作:

jest.mock('myLib', () => ({
  Button: {
    WrappedComponent: 'base-button-component',
    displayName: 'button-component',
  },
}));

该问题发生在测试中。我能够毫无故障地对其进行测试,但是我得到了上述警告。

有什么主意吗?是我应该关心的事情还是不值得的事情?

0 个答案:

没有答案