我有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
我尝试过的方法,
但是当我转到这些路线中的任何一条时,输出都是空白的。仅呈现导航栏。
您需要将基本路径添加到链接中。
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