Ошибка выполнения "Object () не является функцией" при использовании пакета компонентов с использованием эмоций / реакции.

У меня есть библиотека компонентов, в которой представлена ​​@ Emotion / React @ v11.x. Сейчас я пытаюсь обновить свой проект пользовательского интерфейса, чтобы использовать этот новый пакет, но я получаю сообщение об ошибке выполнения, которое, по-видимому, связано с реакцией на эмоции.

emotion-element-4fbd89c5.browser.esm.js:28 Uncaught TypeError: Object(...) is not a function
    at eval (emotion-element-4fbd89c5.browser.esm.js:28)
    at Object.../node_modules/@emotion/react/dist/emotion-element-4fbd89c5.browser.esm.js (index.js:944)
    at __webpack_require__ (index.js:753)
    at fn (index.js:122)
    at Object.eval (emotion-react.browser.esm.js:10)
    at eval (emotion-react.browser.esm.js:362)
    at Object.../node_modules/@emotion/react/dist/emotion-react.browser.esm.js (index.js:956)
    at __webpack_require__ (index.js:753)
    at fn (index.js:122)
    (truncated)

При дальнейшем осмотре проблема, похоже, связана с разрешением функции реакции createContext.

var EmotionCacheContext = /* #__PURE__ */Object(react__WEBPACK_IMPORTED_MODULE_0__["createContext"])( // we're doing this to avoid preconstruct's dead code elimination in this one case

Библиотека компонентов использует реакцию v16.8.1, а библиотека пользовательского интерфейса использует ту же версию.

Будем очень признательны за любые идеи или указатели!


person John Morris    schedule 09.12.2020    source источник


Ответы (1)


У меня была такая же проблема, и у меня сработало удаление файла блокировки и узловых модулей, а затем запуск yarn или npm install. После этого я очистил кеш и жестко перезагрузил браузер. Я также запустил gatsby clean, потому что использую Gatsby. Я не уверен, какой шаг помог, но мне это помогло! Исходя из вашего вопроса, я предполагаю, что вы переходите на версию 1 Chakra UI? В этом случае убедитесь, что вы следуете их документам по миграции здесь.

person Christian von Lehe    schedule 25.01.2021