reactjs - 是什么导致打字稿模块没有导出的成员 .ts(2305) 错误,你如何解决它?
问题描述
这是我第一次将 typescript 与 React 一起使用,我在 typescriptModule has no exported member .ts(2305)
错误方面遇到了很多麻烦。以下是发生这种情况的 2 个示例:
import { BrowserRouter, Routes, Route } from 'react-router-dom';
错误:
'"react-router-dom"' has no exported member named 'Routes'. Did you mean 'Route'?ts(2724)
和这里
import { useNavigate } from 'react-router';
错误:
Module '"react-router"' has no exported member 'useNavigate'.ts(2305)
最后一个例子:
import { MaterialCommunityIcons } from 'react-native-vector-icons';
错误:
Module '"react-native-vector-icons"' has no exported member 'MaterialCommunityIcons'.ts(2305)
如果有帮助,这是我的 package.json 文件:
{
"name": "frontend",
"version": "0.1.0",
"private": true,
"dependencies": {
"@emotion/react": "^11.4.1",
"@emotion/styled": "^11.3.0",
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"@types/history": "2.0.45",
"@types/jest": "^26.0.15",
"@types/node": "^12.0.0",
"@types/react": "^17.0.0",
"@types/react-dom": "^17.0.0",
"@types/react-router": "3",
"@types/react-router-dom": "^5.1.8",
"community": "^0.0.1",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.0",
"history": "^5.0.1",
"icons": "^1.0.0",
"material": "^0.4.3",
"prettier": "^2.3.2",
"react": "^17.0.1",
"react-bootstrap": "^1.6.1",
"react-dom": "^17.0.1",
"react-native-vector-icons": "^8.1.0",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.1",
"react-vector-icons": "^0.0.1",
"typescript": "^4.1.2",
"web-vitals": "^1.0.1"
},
当它出现时,我能做些什么来解决这个问题?我并不是在问这 3 个特定问题,而是在问如何解决这个Module has no exported member .ts(2305)
错误,因为它似乎经常出现。
我读过几次并尝试做的是像这样安装类型定义(我认为?):
yarn add @types/react-router-dom
最后yarn add @types/react-router
,yarn add @types/react-native-vector-icons
简单地尝试yarn install
,但这从未解决问题。
解决方案
如果您从 v5 升级并看到此问题,我删除了@types/react-router-dom
依赖项并修复了此问题,因为 v6 的类型随react-router-dom
. @types
依赖项本身并没有从 v5 中删除。
推荐阅读
- ios - Swift iOS - 选择新单元格时更改旧单元格的背景颜色
- android - React Native 未在发行版中编译
- android - NoClassDefFoundError:解析失败:Lcom/google/android/gms/common/internal/zzx
- php - WooCommerce 迷你购物车事件触发器
- python - 学习 Python 和 Scrapy
- node.js - HTTPError:在shopify中将结帐标记为已完成时的响应代码422(无法处理的实体)
- python - django 分页不适用于 django 过滤器
- php - 带有字段 concat 的语句 WHERE
- vb.net - 如何将图像从 Form1 分配到 Form2
- ruby - memcached:如何清除名称中带有“flushable”的所有键