gpt4 book ai didi

node.js - 由于未定义的 PropTypes.node,React 应用程序崩溃

转载 作者:太空宇宙 更新时间:2023-11-03 22:23:48 24 4
gpt4 key购买 nike

我今天在处理使用 React v.15.0.0 创建的基于 Node.js + React 的项目时遇到了一个问题,它有几个已弃用的功能,因此我升级了项目以使用 React v.16.2.0。

现在它崩溃了,不能再用 webpack 编译了:(

我收到的错误消息为:

    TypeError: Cannot read property 'node' of undefined
[3] at Object.defineProperty.value (/Volumes/Develop/MyPortfolio/edward/dist/server.js:528:40)
[3] at __webpack_require__ (/Volumes/Develop/MyPortfolio/edward/dist/server.js:20:30)
[3] at Object.<anonymous> (/Volumes/Develop/MyPortfolio/edward/dist/server.js:406:22)
[3] at __webpack_require__ (/Volumes/Develop/MyPortfolio/edward/dist/server.js:20:30)
[3] at Object.defineProperty.value (/Volumes/Develop/MyPortfolio/edward/dist/server.js:342:16)
[3] at __webpack_require__ (/Volumes/Develop/MyPortfolio/edward/dist/server.js:20:30)
[3] at Object.<anonymous> (/Volumes/Develop/MyPortfolio/edward/dist/server.js:185:14)
[3] at __webpack_require__ (/Volumes/Develop/MyPortfolio/edward/dist/server.js:20:30)
[3] at Object.defineProperty.value (/Volumes/Develop/MyPortfolio/edward/dist/server.js:56:16)
[3] at __webpack_require__ (/Volumes/Develop/MyPortfolio/edward/dist/server.js:20:30)
[3] [nodemon] app crashed - waiting for file changes before starting...

我追溯到/my project/dist/server.js 文件,这是导致崩溃的行:

ExternalLink.propTypes = {
children: _react2.default.PropTypes.node
};

并且 _react2 声明为:

var _react = __webpack_require__(3);

var _react2 = _interopRequireDefault(_react);

我做了一些研究,发现 React 16.x 有一个单独的包用于类型检查“Prop-Types”,我实际上尝试将旧函数与新函数交换,如下所示:

   var _propType = require("prop-types");

ExternalLink.propTypes = {
children: _propType.default.PropTypes.node
};

仍然不走运,我现在不知道,如果有人能就此提供建议或解决方法,我将不胜感激。谢谢。

最佳答案

您只需使用_propTypes.node而不是_propType.default.PropTypes.node

var _propType = require("prop-types");

ExternalLink.propTypes = {
children: _propType.node
};

自 React 16 起,PropTypes 被拆分为自己的包,该包的默认导出是 PropTypes 对象,因此您只需直接使用它,而不是查找 .default.PropTypes。

关于node.js - 由于未定义的 PropTypes.node,React 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49864978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com