反应路由器链接打字稿错误
Posted
技术标签:
【中文标题】反应路由器链接打字稿错误【英文标题】:react-router Link typescript error 【发布时间】:2017-11-09 06:40:26 【问题描述】:我刚开始在我的 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",
【问题讨论】:
什么版本的 react-router? 帖子已更新使用的版本 你的 @types/react-router 需要是 V3 才能匹配 react-router 【参考方案1】:你有 react-router
第 3 版,但 @types 包适用于第 4 版。react-router 的第 4 版将很多库移到 react-router-dom
包中,这就是它们的类型不在 @987654323 中的原因@ v4 包。
你应该删除不正确的类型包:
npm un @types/react-router
然后安装正确的类型:
npm i --save-dev @types/react-router@3
【讨论】:
我宁愿将路由器版本升级到 v4,而不是降级 @types/react-router 版本。然后import Link from 'react-router-dom'
也能正常工作。谢谢你的帮助:)以上是关于反应路由器链接打字稿错误的主要内容,如果未能解决你的问题,请参考以下文章
反应路由器/反应查询不会取消/发出导航请求 - 反应/打字稿