React Router DOM - 如何在每个页面上包含导航栏?

Abd*_*zic 5 reactjs react-router react-router-dom

我的App.js组件中有这个代码:

render() {
        return (
            <div>
                <Navbar/>
                <BrowserRouter>
                    <Switch>
                        <Route exact path="/" component={Home}/>
                        <Route path="/about" component={About} />                         
                        <Route path="*" render={() => <Redirect to="/" />} />
                    </Switch>
                </BrowserRouter>
            </div>
        );
    }
Run Code Online (Sandbox Code Playgroud)

现在我尝试在我的一个其他组件中包含一个Link组件,但我发现BrowserRouter必须是App.js组件的根元素,以便它可以工作.现在我想知道如果我还想在每个页面上都包含导航栏,我将如何将其作为路由元素.

iva*_*rni 9

您应该能够将它放在<Switch>Component 之外.

<BrowserRouter>
    <div>
        <Navbar/>
        <Switch>
            <Route exact path="/" component={Home}/>
            <Route path="/about" component={About} />                         
            <Route path="*" render={() => <Redirect to="/" />} />
        </Switch>
    </div>
</BrowserRouter>
Run Code Online (Sandbox Code Playgroud)