从Header组件访问this.props.location

时间:2018-04-02 10:03:21

标签: reactjs react-router-v4

如您所知,<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}}

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);