开发者社区> 问答> 正文

如何在React Router中使用<Switch>来确保只渲染一个匹配的路由?

如何在React Router中使用来确保只渲染一个匹配的路由?

展开
收起
迪哒迪滴喵 2024-08-13 18:17:28 10 0
1 条回答
写回答
取消 提交回答
  • 在React Router中,组件用于包裹组件,并确保只渲染第一个与当前URL匹配的。这对于避免渲染多个路由组件(如导航栏和侧边栏同时出现在页面上)非常有用。使用时,通常将其放在组件内部,并包裹所有的组件。例如:

    <Router> 
    <Switch> 
    {/* 路由配置数组中的路由项会被映射为<Route>组件并渲染在这里 */} 
    {config.map((route, index) => ( 
    <Route 
    key={index} 
    path={route.path} 
    render={props => ( 
    <route.component {...props}> 
    {/* 如果route.component是一个布局组件,并且它有childRoutes,则递归渲染它们 */} 
    {route.childRoutes && route.childRoutes.map((childRoute, childIndex) => ( 
    <Route 
    key={childIndex} 
    path={`${props.match.url}${childRoute
    
    2024-08-13 21:01:47
    赞同 2 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
利用编译将 Vue 组件转成 React 组件 立即下载
React Native 全量化实践 立即下载
React在大型后台管理项目中的工程实践 立即下载