ReactJS 16.4 和 Material UI 4.x 兼容性

IT技术 reactjs material-ui
2021-05-06 16:42:58

我正在使用 React 16.4.1 和 metrial-ui 4.1.1,当我尝试在本地运行它时,出现以下错误。

TypeError: _react.default.memo is not a function
createSvgIcon
c:/apps/projects/app/node_modules/@material-ui/icons/utils/createSvgIcon.js:17
  14 | var _SvgIcon = _interopRequireDefault(require("@material-ui/core/SvgIcon"));

我在本地(在 Windows 上)的节点和 npm 版本是 10.16.0 和 6.9.0

当我使用 Jenkins(在 linux 上运行)和节点 10.13.0 和 npm 6.9.1 构建相同的版本时,它运行良好。

不知道为什么这么小的版本不匹配会导致这个问题。

谢谢萨蒂什

1个回答

不幸的是,React.memo 是在react@16.6.0 source中发布的

看来@material-ui/core@4.0.0(甚至在 4.1.1 之前)需要react@16.8.0 source

就其value而言,将 React 版本升级到最新版本应该不会有太大困难。最大的痛点是,如果您使用类似的库enzyme(或其他试图跟上精确 API 奇偶校验的依赖项)。您还需要更新它,它是合作依赖项。