Reactjs __网页包\u导入的\u模块\u 4\u反应\u默认值。a.memo不是函数

Reactjs __网页包\u导入的\u模块\u 4\u反应\u默认值。a.memo不是函数,reactjs,react-redux,connect,Reactjs,React Redux,Connect,我只是用redux和react redux连接功能连接应用程序,以及状态和调度。它的编译没有问题,但结果没有显示出来。它看起来像下面 我试图找到它,发现我必须改变它的版本 $ sudo npm install --save react@16.4.0 react-dom@16.4.0 但它不起作用 我遵循这个教程。 您使用了错误版本的React,React.memo是在版本16.6.0中引入的,因此,请尝试使用此命令安装正确的版本 npm install --save react@16.6.

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

我试图找到它,发现我必须改变它的版本

$ sudo npm install --save react@16.4.0 react-dom@16.4.0
但它不起作用

我遵循这个教程。


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

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

要了解更多信息,请单击这也发生在我身上。当依赖项版本得到更新,并且您观看的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安装

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


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

这是因为
@material ui/styles
对包含挂钩的
react>=16.7.0-alpha.0和react dom>=16.7.0-alpha.0
具有对等依赖性。 要使用
@material ui/styles
,请更改react和react dom依赖项,如下所示:

“依赖项”:{


},

找出您正在使用的react redux版本,然后转到。单击与您的版本关联的文档。您应该看到如下内容:

装置

React Redux 7.1要求React 16.8.3或更高版本


将您的react in package.json更新到适当的版本并安装。

对我很有用,谢谢!但是我怎么知道哪个版本的
redux
react redux
redux thunk
彼此兼容呢?通常情况下,包管理员会为您解决这个问题(每个
/node\u modules/my cool module/
都有自己的
package.json
)。请注意,在原始问题中提供了特定的版本,因此软件包管理器将安装这些特定的版本感谢提供的版本号。在
^16.6.0
上安装
react
解决了我遇到的问题!
...

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