在将标记为副本之前,我搜索了很多次,但没有回答。
我在做一个反应项目。在开发环境中,一切都很正常。然后,当我构建react时,浏览器中会出现以下错误:
TypeError: (0 , Rt.useState) is not a function at react-dom.production.min.js:209在网上我搜索了很多。每个人都会参考没有钩子的16.7版本。不过,我有16.14版本!看一看依赖关系:
{
"qs": "^6.10.2",
"react": "^16.14.0",
"react-content-loader": "^6.1.0",
"react-dom": "^16.14.0",
"react-intersection-observer": "^8.33.1",
"react-qr-reader": "^2.2.1",
"react-router-dom": "^5.3.0",
"react-scripts": "5.0.0",
"react-swipeable-list": "^1.4.0",
"react-tiger-transition": "^4.1.2",
"react-toastify": "^8.1.0",
"react-transition-group": "^4.3.0"
}我已经检查过是否有重复的反应。我用了npm ls react和npm ls react-dom
以下是这两种方法的结果:
> npm ls react
+-- react-content-loader@6.1.0
| `-- react@16.14.0 deduped
+-- react-dom@16.14.0
| `-- react@16.14.0 deduped
+-- react-intersection-observer@8.33.1
| `-- react@16.14.0 deduped
+-- react-qr-reader@2.2.1
| `-- react@16.14.0 deduped
+-- react-router-dom@5.3.0
| +-- react-router@5.2.1
| | +-- mini-create-react-context@0.4.1
| | | `-- react@16.14.0 deduped
| | `-- react@16.14.0 deduped
| `-- react@16.14.0 deduped
+-- react-scripts@5.0.0
| `-- react@16.14.0 deduped
+-- react-swipeable-list@1.4.0
| `-- react@16.14.0 deduped
+-- react-tiger-transition@4.1.2
| `-- react@16.14.0 deduped
+-- react-toastify@8.1.0
| `-- react@16.14.0 deduped
+-- react-transition-group@4.4.2
| `-- react@16.14.0 deduped
`-- react@16.14.0另一个是:
> npm ls react-dom
+-- react-dom@16.14.0
+-- react-qr-reader@2.2.1
| `-- react-dom@16.14.0 deduped
+-- react-swipeable-list@1.4.0
| `-- react-dom@16.14.0 deduped
+-- react-toastify@8.1.0
| `-- react-dom@16.14.0 deduped
`-- react-transition-group@4.4.2
`-- react-dom@16.14.0 deduped因此,我们可以说,没有复制!
语法可能是正确的,因为它在开发中工作得很好。
我真的很困惑。谢谢。
发布于 2021-12-21 08:00:30
#解决了问题,因为vs代码intellisense自动添加了以下内容:
import { useState } from 'react/cjs/react.development.js'而不是
import { useState } from 'react'为了找到它杀了我
https://stackoverflow.com/questions/70431299
复制相似问题