反应:无法设置 属性 'lastEffect' 为 null
React: Cannot set property 'lastEffect' of null
我在生产中遇到错误。貌似和uglisify Webpack plugin有关我找不到解决办法
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
这是由 React 16.7.0-alpha 中的 uglifyjs-webpack-plugin 版本 2.0.1 引起的,因为它破坏了 React 的新钩子功能。
您可以尝试使用 terser 插件。这是 link:
https://github.com/webpack-contrib/terser-webpack-plugin
如果您更新到 uglifyjs-webpack-plugin 版本 2.2.0,问题已解决。
我在生产中遇到错误。貌似和uglisify Webpack plugin有关我找不到解决办法
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
这是由 React 16.7.0-alpha 中的 uglifyjs-webpack-plugin 版本 2.0.1 引起的,因为它破坏了 React 的新钩子功能。
您可以尝试使用 terser 插件。这是 link: https://github.com/webpack-contrib/terser-webpack-plugin
如果您更新到 uglifyjs-webpack-plugin 版本 2.2.0,问题已解决。