嵌套路由是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
组件中的,因此它是嵌套路由。