嵌套路由是React Router库中的一个功能,它允许在一个路由组件内部定义其他的路由组件。嵌套路由的实现主要依赖于React Router的<Route>
组件和它的children
属性。
在定义嵌套路由时,我们需要使用<Route>
组件包裹需要嵌套的子路由组件,并设置path
属性为子路由对应的路径。同时,在<Route>
组件的render
属性中返回需要渲染的子组件。
以下是一个简单的示例,展示了如何定义嵌套路由:
import React from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; const HomePage = () => <h1>Home Page</h1>; const AboutPage = () => <h1>About Page</h1>; const ContactPage = () => <h1>Contact Page</h1>; const InnerPage = () => <h1>Inner Page</h1>; const App = () => ( <Router> <Switch> <Route exact path="/" component={HomePage} /> <Route path="/about" component={AboutPage} /> <Route path="/contact" component={ContactPage} /> <Route path="/inner" render={() => ( <InnerPage /> )} /> </Switch> </Router> );
在这个示例中,我们定义了四个路由:/
, /about
, /contact
和/inner
。当用户导航到/inner
路径时,会渲染出InnerPage
组件。这个组件是嵌套在App
组件中的,因此它是嵌套路由。