javascript - react : Cannot set property 'lastEffect' of null

标签 javascript reactjs react-native webpack-4

我在生产中遇到错误。看起来它与 uglisify Webpack 插件有关我找不到解决方案来解决它。

网络包配置:

    const UglifyJSPlugin = require("uglifyjs-webpack-plugin");

 module.exports = {
   mode: "production",
   entry: "./index.tsx",
  resolve: {
      extensions: [".js", ".tsx"]
   },
   module: {
     rules: [
      {
        test: /\.tsx?$/,
        use: {
          loader: "ts-loader",
           options: {
        transpileOnly: true
          }
         }
       }
     ]
  },
   optimization: {
       minimizer: [new UglifyJSPlugin()]
  }
};

索引.tsx

    import * as React from 'react';
    import * as ReactDOM from 'react-dom';

    const TestComponent = () => {
        React.useEffect(() => {});
        return null;
    };

    ReactDOM.render(<TestComponent />, document.getElementById('app'));

版本:

"react": "^16.7.0-alpha.0",
"react-dom": "^16.7.0-alpha.0",
"uglifyjs-webpack-plugin": "^2.0.1",
"webpack": "4.19.0",
"webpack-cli": "^3.1.2"

错误:

  React: Cannot set property 'lastEffect' of null

最佳答案

这是由 React 16.7.0-alpha 中的 uglifyjs-webpack-plugin 版本 2.0.1 引起的,因为它破坏了 React 的新钩子(Hook)特性。

您可以尝试使用 terser 插件。链接在这里: https://github.com/webpack-contrib/terser-webpack-plugin

关于javascript - react : Cannot set property 'lastEffect' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53348653/

相关文章:

javascript - 使用 Styled-System(和 styled-components)在悬停时减轻当前按钮的颜色

javascript - 如何在 JavaScript/jQuery 中缩小 HTML block ?

javascript - 如何在 React Native 中读取或下载文件?

javascript - Netlify Lambda 函数无法返回 mysql 数据库查询结果

javascript - 将 jQueryFileUpload 库与 require.js 一起使用

reactjs - getStaticPaths Next JS 中未定义的路径

reactjs - Keycloak - 保护 Spring Boot 应用程序

javascript - 如何在 Facebook 的 FixedDataTable 中设置灵活的行高?

javascript - Typescript:类型 'X' 与签名 '(prevState: undefined): undefined' 不匹配

react-native - 无法读取未定义的 react-native 的属性 'setNativeProps'