如您所知,<Route />
仅在呈现的组件包含在this.props.location
内时才可访问。
不是通过在我拥有的每个组件中放置this.props.location
来跟踪和保存用户导航的网址,而是通过在标头中只放置一个<Route />
来提取位置。但是,由于以下显而易见的原因,标题未被this.props.location
包裹。
从路径树定义如下的Header组件访问...
import { BrowserRouter as Router, Route } from "react-router-dom";
...
<Router>
<div>
<Header />
<Route path="/dummy" component={Dummy} />
</div>
</Router>
...
的最佳方法是什么:
{{1}}
答案 0 :(得分:1)
您的问题有两种解决方案,
首先,有一个默认路由,呈现类似
的标头...
import { BrowserRouter as Router, Route } from "react-router-dom";
...
<Router>
<div>
<Route component={Header} />
<Route path="/dummy" component={Dummy} />
</div>
</Router>
...
第二:在您的withRouter
组件中使用Header
import {withRouter} from 'react-router;
...
export default withRouter(Header);