'react-router'不包含名为'browserHistory'的导出

时间:2018-06-07 11:31:36

标签: javascript reactjs react-router

所以我试图在React中使用history,但它似乎被移动了很多。我发现了这个:

https://github.com/ReactTraining/react-router/blob/ab4552d2ea0ec5c0cf3c534bca654a1af3ea0dec/docs/guides/NavigatingOutsideOfComponents.md

但它只是说'react-router' does not contain an export named 'browserHistory'.我该如何解决?我在哪里可以找到历史?我找到的所有答案都是1.5岁左右。

3 个答案:

答案 0 :(得分:1)

您正在寻找BrowserRouter

import { BrowserRouter } from 'react-router';

browserHistory存在于v2 / v3中,但在v4中被重写为BrowserRouter。 有migration guide here可以帮助你。

答案 1 :(得分:0)

history Api已移至单独的 history package

要创建browserHistory,请安装

等历史记录
npm install -S history

并写

import createHistory from "history/createBrowserHistory"

const browserHistory = createHistory()
export { browserHistory };

但是在react-router-v4 Router browserHistory与[{1}}相当BrowserRouter

答案 2 :(得分:0)

您显然不再拥有browserHistory。所以你可以这样做,

<Route>
 <Header />
</Route>

你可以做到

function Header(props) {
 // props.history and props.location are available now inside this component
}

然后你可以做props.history.push或其他任何事情,如果这是你想做的事。

您拥有的链接适用于旧版react-router,因此请查看react-router 4