在 React Router v5 中,写子路由,父级路由如果加了exact属性,就显示不了子组件

在 React Router v5 中,当你在父级路由上使用 exact 属性时,它意味着该路由只有在其 path 完全匹配当前 URL 时才会被激活。这意味着,如果父级路由精确匹配了,React Router 就不会继续向下查找子路由,因为 exact 限制了匹配范围。

例如,假设你有以下路由配置:

复制代码
<Route exact path="/parent" component={ParentComponent}>
  <Route path="/parent/child" component={ChildComponent} />
</Route>

在这个例子中,如果你访问 /parent,因为父级路由设置了 exact,它将匹配并仅渲染 ParentComponent。即使存在一个子路由 /parent/child,由于父级路由已经精确匹配,React Router 不会继续尝试匹配子路由,因此 ChildComponent 不会被渲染。

如果你希望同时能够访问父级和子级组件,应该移除父级路由上的 exact 属性,让路由系统有机会继续匹配子路由:

复制代码
<Route path="/parent">
  <Route path="/parent/child" component={ChildComponent} />
</Route>

这样配置后,访问 /parent 会渲染 ParentComponent,而访问 /parent/child 则会同时渲染 ParentComponent(作为容器)和 ChildComponent。如果没有其他路由与 /parent 完全匹配,就不需要 exact,因为默认情况下 Route 并不要求完全匹配。

相关推荐
小码哥_常19 分钟前
Kotlin 助力 Android 启动“大提速”
前端
GreenTea40 分钟前
AI 时代,工程师的不可替代性在哪里
前端·人工智能·后端
Jagger_1 小时前
能不能别再弄低代码害人了
前端
朦胧之1 小时前
AI 编程开发思维
前端·后端·ai编程
踩着两条虫2 小时前
VTJ:快速开始
前端·低代码·架构
木斯佳3 小时前
前端八股文面经大全:携程前端一面(2026-04-17)·面经深度解析
前端·状态模式
2301_799073023 小时前
基于 Next.js + 火山引擎 AI 的电商素材智能生成工具实战——字节跳动前端训练营成果
javascript·人工智能·火山引擎
Java后端的Ai之路3 小时前
LangChain ReAct Agent 核心技术问答
前端·react.js·langchain
码喽7号3 小时前
Vue学习七:MockJs前端数据模拟
前端·vue.js·学习
NotFound4863 小时前
探究分享从对话到执行:OpenTiny NEXT 如何重塑前端智能化开发范式
前端