代码之家  ›  专栏  ›  技术社区  ›  Hemadri Dasari

react:无法将属性“lastEffect”设置为null

  •  4
  • Hemadri Dasari  · 技术社区  · 7 年前

    我在生产上犯了错误。看起来它和网页模糊不清插件有关,我找不到解决方法。

    网页包配置:

        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()]
      }
    };
    

    索引文件

        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
    
    1 回复  |  直到 7 年前
        1
  •  7
  •   Rohan Dhar    7 年前

    这是react 16.7.0-alpha中的uglifyjs网页包插件版本2.0.1打破了react的新钩子特性造成的。

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