打字稿和反应路由器

时间:2018-04-18 21:26:06

标签: reactjs typescript react-router typescript-typings

试图在typescript上启动并运行react-router。我已经安装了@ types / react-router,但是我遇到了一个错误的问题:

@types/react-router/index"' has no exported member 'hashHistory'

我一直在尝试不同版本的路由器和类型。我目前的版本是:

react:  16.3.2
react-router: 4.2.0
@types/react-router: 4.0.23

我查看了github上的打字项目。 index.ds.ts不显示正在导出的hashHistory。但是,有一个v3文件夹,而index.ds.ts则有。

我希望我能找到所有相关软件包的神奇混合版本。

1 个答案:

答案 0 :(得分:2)

在react-router 4中,有针对web,native和core的单独包。 您需要安装react-router-dom而不是react-routerdocs

另外,

  

使用React Router v4,其中一个重大变化是存在许多不同的路由器组件。每个人都会为您创建一个历史对象。 <BrowserRouter>创建了浏览器历史记录,<HashRouter>创建了哈希历史记录...

因此,您可以只使用HashRouter,而不是将历史对象传递给路由器。

import { HashRouter as Router } from 'react-router-dom'

Documentation on HashRouter