Предупреждение: React.createElement: тип недействителен - ожидал строку или класс / функцию, но получил: объект - PullRequest
0 голосов
/ 23 марта 2020

Я сталкиваюсь со следующим предупреждением / проблемой с тестированием 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.

Рабочий код использует пустую версию компонента (экспортируется с помощью Ho C ).

Библиотека предоставляет возможность доступа к оригиналу BaseComponent, если необходимо, как я. Пример экспортируемого компонента из lib / Ho C следующий:

EnrichedComponent.WrappedComponent = BaseComponent;

Итак, я получаю доступ вот так (это кнопка)

const { WrappedComponent: BaseButton } = Button;

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

В тесте мне нужно чтобы посмеяться над библиотекой и экспортированными частями, поэтому я делаю следующее:

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

Проблема возникает при тестировании. Я могу проверить его без сбоев, но я получил вышеупомянутое предупреждение.

Есть идеи? Это то, о чем я должен заботиться или не стоит?

...