reactjs __WEBPACK_IMPORTED_MODULE_4_react___default.a.memo不是函数

cwxwcias  于 2023-06-22  发布在  React
关注(0)|答案(4)|浏览(158)

我只是用redux和react-redux connect函数连接应用程序,以及状态和调度。它编译没有问题,但结果不显示。它看起来像下面。
我试着找到它,发现我必须改变React版本。

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

但是没有用。
我正在遵循这个教程。https://www.youtube.com/watch?v=BxzO2M7QcZw

bmp9r5qi

bmp9r5qi1#

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

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

更多信息请点击here

wvyml7n5

wvyml7n52#

这也发生在我身上。当依赖项版本更新时会发生这种情况,并且您观看的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文档。
上面的方法可以解决你的问题。

fae0ux8s

fae0ux8s3#

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

...

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

},

suzh9iv8

suzh9iv84#

找出您正在使用的react-redux版本的哪个版本,然后转到https://react-redux.js.org/versions。单击与您的版本相关的文档。你应该看到这样的东西:
安装
React Redux 7.1需要React 16.8.3或更高版本。
将package.json中的react更新为适当的版本并安装。

相关问题