React Router - 嵌套路由配置

嵌套路由解释

什么是嵌套路由

在一级路由中又嵌套了其它路由,这种关系就叫做嵌套路由。嵌套在一级路由内的路由又称作二级路由。可以继续往下嵌套,例如三级路由。
在这里插入图片描述

嵌套路由配置

1)使用children属性配置路由嵌套关系。下面是官网的示例片段:

https://reactrouter.com/en/main/routers/create-browser-router#createbrowserrouter
在这里插入图片描述

2)使用<Outlet />组件配置二级路由渲染位置。下面是官网的示例片段:

https://reactrouter.com/en/main/components/outlet
在这里插入图片描述

示例

创建1个一级路由页面,2个二级路由页面

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

路由配置:配置嵌套路由

在这里插入图片描述

在一级路由组件中使用<Outlet />配置二级路由渲染位置

在这里插入图片描述

在浏览器中访问

在这里插入图片描述

点击切换到面板:
在这里插入图片描述

点击切换到关于:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Router是一个React的第三方库,它提供了一种在React应用程序中实现由的方式。React Router DOM是React Router的一个扩展,它为React应用程序提供了一个DOM导航组件。 React Router DOM的嵌套由是一种将多个由组件嵌套在一起的技术。这使得我们可以在一个页面上使用多个由,每个由有自己的径和组件。 下面是React Router DOM 6的嵌套由使用详细步骤: 1. 安装React Router DOM 使用npm或yarn安装React Router DOM npm install react-router-dom 2. 创建父由组件 在你的React组件中引入BrowserRouter和Route组件,BrowserRouter是一个Router组件的具体实现,它使用HTML5 history API来实现单页应用程序的由。 import { BrowserRouter as Router, Route } from 'react-router-dom'; const App = () => { return ( <Router> <Route path="/" component={Home} /> </Router> ); } 3. 创建子由组件 在父由组件中,我们可以使用Route组件来定义子由。使用嵌套由的一个好处是可以将由组件分解为更小的组件。在这里,我们将创建一个包含嵌套由的组件。 import { Route } from 'react-router-dom'; const Profile = () => { return ( <div> <h2>Profile Page</h2> <Route path="/profile/info" component={Info} /> <Route path="/profile/settings" component={Settings} /> </div> ); } 4. 使用嵌套由 在父由组件中,我们可以在Route组件中使用嵌套由。在这个例子中,我们将使用Profile组件作为子由。 import { BrowserRouter as Router, Route } from 'react-router-dom'; const App = () => { return ( <Router> <Route path="/" component={Home} /> <Route path="/profile" component={Profile} /> </Router> ); } 5. 创建Link组件 在使用嵌套由的过程中,我们需要创建Link组件来将由链接到不同的页面。在这里,我们将创建一个Link组件来将由链接到Profile组件。 import { Link } from 'react-router-dom'; const Home = () => { return ( <div> <h2>Home Page</h2> <Link to="/profile">Go to Profile</Link> </div> ); } 至此,我们已经完成了React Router DOM 6的嵌套由的使用。在使用React Router DOM 6时,我们需要注意一些变化: - Route组件的component属性已经被替换为element属性,用来指定将要被渲染的React元素。 - Route组件的exact属性默认为true。 - 嵌套由使用Route组件而不是Switch组件来处理由匹配问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值