__WEBPACK_IMPORTED_MODULE_4_react___default.a.memo 不是函数

__WEBPACK_IMPORTED_MODULE_4_react___default.a.memo is not a function

我只是将应用程序与 redux 和 react-redux 连接功能以及状态和调度一起连接起来。它编译没有问题,但结果没有显示。它看起来像下面。

我试图找到它,发现我必须更改反应版本。

$ sudo npm install --save react@16.4.0 react-dom@16.4.0

但是没有用。

我正在学习本教程。 https://www.youtube.com/watch?v=BxzO2M7QcZw

您使用的 React 版本错误,React.memo 是随版本 16.6.0 引入的,因此,请尝试使用此命令安装正确的版本

npm install --save react@16.6.0 react-dom@16.6.0

有关详细信息,请单击 here

这也发生在我身上。当依赖项版本更新时会发生这种情况,而您观看的 YouTube 视频的依赖项具有旧版本。

因此,替换 package.json 文件中的以下依赖项:

"react": "^16.4.1",
"react-dom": "^16.4.1",
"react-redux": "^5.0.7",
"react-router-dom": "^4.3.1",
"redux": "^4.0.0",
"redux-thunk": "^2.3.0",

和运行 npm install.

由于 connect() 函数将 React 组件连接到 Redux 存储, react, redux 需要版本支持。如果您愿意使用最新的依赖项,请参考 Redux 文档。

以上方法应该可以解决你的问题。

那是因为 @material-ui/styles 对包含挂钩的 react >= 16.7.0-alpha.0 and react-dom >= 16.7.0-alpha.0 有对等依赖。 要使用 @material-ui/styles,请像这样更改 react 和 react-dom 依赖项:

"dependencies":{

...

"react": "^16.7.0-alpha.2",
"react-dom": "^16.7.0-alpha.2",
...

},

找出您使用的是哪个版本的react-redux 版本,然后转到https://react-redux.js.org/versions。单击与您的版本关联的文档。你应该看到这样的东西:

安装

React Redux 7.1 需要 React 16.8.3 或更高版本。

将 package.json 中的 React 更新为合适的版本并安装。