当前位置 : 主页 > 网页制作 > React >

reactjs – React路由器获取主路由器组件上的当前位置

来源:互联网 收集:自由互联 发布时间:2021-06-15
我想知道如何从我用来定义路线的组件中获取当前位置.例如,我有一个名为Routes的组件,它包含所有路由,如下所示: class Routes extends React.Component { render() { return ( Router Nav / header{customHea
我想知道如何从我用来定义路线的组件中获取当前位置.例如,我有一个名为Routes的组件,它包含所有路由,如下所示:

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>
        );
    }
};
网友评论