react-router链接typescript错误

IT技术 reactjs typescript ecmascript-6 react-router
2021-05-19 16:39:48

我刚开始在我的 React 项目中添加 TypeScript,我想不出这个错误:

import {Link} from 'react-router';
Module '"/Users/.../node_modules/@types/react-router/index"' has no exported member 'Link'.

Link组件存在于react-router(代码正在运行)中,但 TypeScript 无法识别它。我已经添加了@types/react-router,但似乎没有实现Link. 有任何想法吗 ?

摘自我的package.json

"@types/react": "^15.0.25",
"@types/react-dom": "^15.5.0",
"@types/react-router": "^4.0.11",
"@types/reactstrap": "^4.3.4",

...

"react": "^15.4.2",
"react-dom": "^15.4.2",
"react-router": "^3.0.2",
"reactstrap": "^4.2.0"

...

"typescript": "^2.3.3",
1个回答

你有react-router版本 3,但版本 4 的 @types 包。react-router 的版本 4 将很多库移到react-router-dom包中,这就是为什么它们的类型不在@types/react-routerv4 包中。

您应该使用以下命令删除不正确的类型包:

npm un @types/react-router

然后安装正确的类型:

npm i --save-dev @types/react-router@3