我们正在使用以下npm软件包(以及许多其他软件包):
"dependencies": {
"prop-types": "15.5.10"
},
"devDependencies": {
"autodll-webpack-plugin": "0.4.2",
"copy-webpack-plugin": "4.5.3",
"html-webpack-plugin": "3.2.0",
"react": "16.4.2",
"stats-webpack-plugin": "0.7.0",
"webpack": "4.20.2",
"webpack-bundle-analyzer": "3.0.2",
"webpack-cli": "3.1.2",
"webpack-dev-server": "3.1.9",
"webpack-visualizer-plugin": "0.1.11"
}
在这里,我只列出了所有与 Webpack 相关的软件包以及版本或 React 和 PropTypes 使用。显然,使用了更多的软件包(这可能会导致问题)。
问题在于,由于我们将 Webpack 从版本3更新到了版本4,因此 PropTypes 验证不起作用。
问题可能与Webpack无关,但是由于升级,如果我们省略isRequired
属性,则在开发模式下不会收到控制台错误 。
使用webpack-dev-server
,网站可以完美运行。
我们使用以下命令启动服务器:
webpack-dev-server --mode=development
在代码中,如果将process.env.NODE_ENV
的值输出到浏览器的控制台,则会得到development
。但是,如果我省略了isRequired
属性,则该应用程序不会在浏览器的控制台输出中发出警告,因为它之前 使用Webpack 3 。
defaultProps
不用于isRequired
属性。
感谢您的帮助,如果您需要更多调查信息,请告诉我!