开发者社区 问答 正文

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

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

展开
收起
迪哒迪滴喵 2024-08-13 18:17:28 29 发布于天津 分享
分享
版权
举报
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 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等