React: Невозможно установить свойство 'lastEffect' для null - PullRequest
0 голосов
/ 17 ноября 2018

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

Конфигурация 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()]
  }
};

index.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

Ответы [ 2 ]

0 голосов
/ 14 августа 2019

Если вы обновляете uglifyjs-webpack-plugin версии 2.2.0, проблема исправлена.

0 голосов
/ 17 ноября 2018

Это вызвано тем, что uglifyjs-webpack-plugin версии 2.0.1 в React 16.7.0-alpha нарушает новую функцию ловушек React.

Вы можете попробовать использовать плагин terser. Вот ссылка: https://github.com/webpack-contrib/terser-webpack-plugin

...