javascript - Unlayer EmailEditor 导入 React 会破坏应用程序

标签 javascript reactjs webpack ecmascript-6

我正在尝试将 Unlayer 包含在我的 React 应用程序中,如下所示:https://github.com/unlayer/react-email-editor 。我为此使用 Webpack。

但是,一旦我将 EmailEditor 导入我的模块之一:

import React from 'react';
import EmailEditor from 'react-email-editor';

我收到错误:

Uncaught TypeError: Object(...) is not a function
    at Object.<anonymous>

我的环境:

  "dependencies": {
    "prop-types": "^15.6.0",
    "react": "^16.0.0",
    "react-email-editor": "^0.9.0",
    "react-load-script": "0.0.6",
    "styled-components": "^4.1.2"
  }

知道什么可能导致这种错误的导入/导出吗?

最佳答案

最新版本的 styled-component 在 React 版本 16.0.0 中中断,因为它依赖于新的上下文 API。 React v16.3.0 中引入了新的上下文 API。

enter image description here

要解决此问题,您可以尝试以下操作之一。

  1. 使用任何 React 版本 >= 16.3.0。

  2. 使用旧版本的 styled-component ,它不需要新的 React context API。 styled-component v4.0.0 中引入了新的上下文 API

查看使用react v16.0.0的损坏版本。 https://codesandbox.io/s/9l25580ppy

查看使用最新React版本的工作版本v16.6.3 https://codesandbox.io/s/6lrv8zoj6r

查看使用旧版本样式组件的工作版本v3.4.10 https://codesandbox.io/s/xvo2658j7w

关于javascript - Unlayer EmailEditor 导入 React 会破坏应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53651808/

相关文章:

javascript - 单选按钮值未存储在数据库中

javascript - React Native - TypeScript 中带有 ref 回调的高阶组件抛出编译错误

javascript - 为什么我的对象中的数据没有设置到我的 React 类组件中的 setState

javascript - 通过 JQuery 指定按钮名称

javascript - Babel 和 next.js - 如何在项目中构建、babel 和附加我自己的脚本

javascript - google-map-react 自定义皮肤

javascript - 使用 Webpack 4 的 Handlebars 加载器

javascript - TS2304 : Cannot find name '__decorate' , '__metadata' 和 '__extends'

css - 在带有 css-loader 和 Webpack 的 React 中使用字符串类名

javascript - 将内容插入 html - maxmind geoip2