React Router DOM — 如何在每个页面都包含一个导航栏?
React Router DOM — How to include a navigation bar on every page?
我的 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>
);
}
现在我尝试在我的其他组件之一中包含一个 Link 组件,但我发现 BrowserRouter 必须是 App.js 组件的根元素,才能做到这一点上班。现在我想知道如果我仍然想在每个页面上都包含导航栏,我将如何让它成为路由元素。
您应该可以将它放在 <Switch>
组件之外。
<BrowserRouter>
<div>
<Navbar/>
<Switch>
<Route exact path="/" component={Home}/>
<Route path="/about" component={About} />
<Route path="*" render={() => <Redirect to="/" />} />
</Switch>
</div>
</BrowserRouter>
我的 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>
);
}
现在我尝试在我的其他组件之一中包含一个 Link 组件,但我发现 BrowserRouter 必须是 App.js 组件的根元素,才能做到这一点上班。现在我想知道如果我仍然想在每个页面上都包含导航栏,我将如何让它成为路由元素。
您应该可以将它放在 <Switch>
组件之外。
<BrowserRouter>
<div>
<Navbar/>
<Switch>
<Route exact path="/" component={Home}/>
<Route path="/about" component={About} />
<Route path="*" render={() => <Redirect to="/" />} />
</Switch>
</div>
</BrowserRouter>