首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模块“react”没有导出成员'SuspenseList‘。TS2305

模块“react”没有导出成员'SuspenseList‘。TS2305
EN

Stack Overflow用户
提问于 2021-12-15 10:32:30
回答 2查看 3.7K关注 0票数 0

我正在尝试学习React 18中的一些新特性,例如SuspenseList和新的useId钩子,但我似乎一遍又一遍地遇到同样的错误:

代码语言:javascript
复制
Module '"react"' has no exported member 'SuspenseList'.  TS2305

这就是我的package.json的样子:

代码语言:javascript
复制
  "dependencies": {
    "bootstrap": "^5.1.1",
    "history": "^5.0.1",
    "react": "^18.0.0-rc.0",
    "react-dom": "^18.0.0-rc.0",
    "react-error-boundary": "^3.1.3",
    "react-router-dom": "^6.0.0-beta.5",
    "swr": "^1.0.1",
    "web-vitals": "^1.1.2"
  },
  "devDependencies": {
    "@testing-library/jest-dom": "^5.14.1",
    "@testing-library/react": "^11.2.7",
    "@testing-library/user-event": "^12.8.3",
    "@types/jest": "^26.0.24",
    "@types/node": "^12.20.27",
    "@types/react": "^17.0.37",
    "@types/react-dom": "^17.0.9",
    "prettier": "^2.4.1",
    "react-scripts": "4.0.3",
    "typescript": "^4.4.3"
  },

我现在不知道该怎么做,因为我已经安装了React 18的RC版本,这应该是工作组GitHub讨论板上的最新版本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-02 23:15:25

如果仍有任何人面临此问题,请安装最新版本的@types/ npm 附加的npm链接中的更多信息 npm i@type/npm

票数 2
EN

Stack Overflow用户

发布于 2021-12-15 11:02:33

您从TypeScript编译器获得了该错误,因为即使您已经安装了react@next,仍然在使用@types/react@17SuspenseList确实存在于实现中,但编译器不知道这一点。

虽然没有类似的@types/react@next安装,但@types/react确实包括:

  • next.d.ts (绝对在v18中的类型);以及
  • experimental.d.ts (目前处于实验性构建中的类型)。

后者的源代码 (因为SuspenseList和整个并发模式API仍然是实验性的)告诉您如何在项目中使用这些类型:

这些类型适用于存在于React的experimental构建中,但还没有出现在稳定的构建中的东西。 一旦它们被提升到稳定状态,它们就可以被移动到主索引文件中。 要在实际项目中加载此处声明的类型,有三种方法。如果您的tsconfig.json已经在"compilerOptions"部分中有一个"types"数组,那么最简单的方法就是向"types"数组中添加"react/experimental"。 或者,可以从TypeScript文件中使用特定的导入语法。这个模块实际上并不存在,这就是为什么{}很重要的原因: 从“react/实验性”导入{} 还可以通过三重斜杠引用将其包括在内: /// 导入或引用只需要在项目中的任何地方出现一次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70362143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档