我想知道如何从我用来定义路线的组件中获取当前位置.例如,我有一个名为Routes的组件,它包含所有路由,如下所示: class Routes extends React.Component { render() { return ( Router Nav / header{customHea
class Routes extends React.Component { render() { return ( <Router> <Nav /> <header>{customHeader}</header> <Switch> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> // Other routes </Switch> </Router> ); } };
但是,当我尝试像在其他组件中一样访问this.props.location.pathname时,它返回undefined.
在其他组件上我需要使用withRouter以便能够访问位置信息.但是我不能将它与Routes组件一起使用,因为它会引发错误.
我实际上并不需要路径名,我只想查看用户的路由,因为我在访问特定页面时会呈现不同的标题内容.
将标题包裹在< Route>中总是呈现.然后你可以通过道具访问所有东西.class Routes extends React.Component { render() { return ( <Router> <Nav /> <Route render={(props) => { console.log(props.location) return ( <header>{customHeader}</header> ) }} /> <Switch> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> // Other routes </Switch> </Router> ); } };