【发布时间】:2026-01-22 05:10:01
【问题描述】:
我有一个集成的 React 应用程序(它已集成到现有的 Flask 应用程序中),并且 React 应用程序的入口不在站点的根目录中。触发 React 应用程序的第一个 URL 是“/active-items”。
但是,其他路线不一定延伸该路径。有些路线是'/active-items/item/',而有些则完全不同,例如'/item-selection'。
考虑到这一点,我正在尝试设置我的 React 路由器,以便为每个路由提供一个基础组件。基本上,任何触发的路由都应该将“App”组件作为基础组件,并且在 App 组件中我有“{props.children}”。
我已经尝试了几次路线的外观,但没有运气。
我的最新版本是这样的:
<Router>
<div>
<Route path='/' component={App}>
<Route path='active-items' component={ActiveItems} />
</Route>
</div>
</Router>
App 已渲染,但 ActiveItems 未渲染。有什么想法我应该如何处理这个问题?
编辑:我正在使用 react-router-dom v4.0.0
【问题讨论】:
-
你为什么要用 div 组件包装你的路由?你使用的是什么版本的 React Router?
-
嵌套路由意味着您将渲染它们嵌套,因此在您的情况下,您必须有一个用于“/”的路由和另一个用于“/active-items”的路由。看看React-router docs。并删除 div 标签
-
@RafaelBerro 我正在使用“react-router-dom”:“^4.0.0”。那里有一个 div,因为有一次我尝试将它们并排渲染,除非它们被包装,否则它无法工作。我遵循了本教程:reacttraining.com/react-router/web/guides/quick-start
-
您应该阅读official documentation 并检查更改。你不能再用这种方式定义嵌套路由了。
-
@FacundoLaRocca 我浏览了文档(链接在您链接的 github 页面内),并且在他们的示例中也有一个 div。
标签: reactjs react-router react-router-dom