如何在react-router-dom中嵌套路由[重复]
Posted
技术标签:
【中文标题】如何在react-router-dom中嵌套路由[重复]【英文标题】:how to nest routes in react-router-dom [duplicate] 【发布时间】:2020-09-22 12:22:13 【问题描述】:我有类似这样的 App.js 文件
import BrowserRouter,Switch,Route from 'react-router-dom'
<BrowserRouter>
<Switch>
<Route exact path="/" component=LandingPage />
<Route path="/searchResults" component=SearchResults />
</Switch>
</BrowserRouter>
SearchResults
看起来像这样
<Navbar />
<Switch>
<Route path="/all" component=All />
<Route path="/courses" component=Courses />
<Route path="/slides" component=Slides />
</Switch>
我需要让 /searchResults/all
、/searchResults/courses
和 searchResults/slides
工作
我尝试了上述方法,但是当我转到这些路线中的任何一条时,输出都是空白的。仅呈现导航栏。
【问题讨论】:
这很有帮助***.com/questions/42984597/… 【参考方案1】:您需要将基本路径添加到链接。
import Switch, Route, useRouteMatch from "react-router-dom";
const SearchResults = () =>
let path = useRouteMatch();
return (
<Switch>
<Route path=`$path/all` component=All />
<Route path=`$path/courses` component=Courses />
<Route path=`$path/slides` component=Slides />
</Switch>
);
)
在我的示例应用程序之一中找到它
https://github.com/codegeous/react-component-depot/blob/master/src/pages/ReactBasics/index.js
【讨论】:
以上是关于如何在react-router-dom中嵌套路由[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用链接后,在嵌套路由中未定义 React-router-dom 参数
React-router-dom:嵌套路由不起作用,而是从根组件应用程序中路由
嵌套路由(React-Router-Dom 6.0.2)未按预期工作
React-router-dom:非常简单的嵌套路由不起作用
ReactSPA - 路由机制 - react-router-dom - 基本路由 - 嵌套路由 - 传递参数 - 路由跳转