在不同的页面上做出不同的反应 Headers
React Different Headers On Different Pages
我想在仪表板内制作一个不同的 header & footer 但它仍然无法正常工作,如何让它工作它只能在路由器内部工作
这是我的代码:
<Router>
<Routes>
<Route path="/" >
<Header />
<Route index element={<><Hero /><HomeAbout /> <Slider /> </>} />
<Route exact path="about" element={<About />} />
<Route exact path="contact" element={<Contact />} />
</Route>
<Route path="/dashboard">
<HeaderDashBoard/>
<Route index />
</Route>
</Routes>
<Footer />
</Router>
这也是制作仪表板的正确格式吗?
你想在这种情况下使用嵌套路由
制作另一个组件作为模板
import { Outlet } from "react-router-dom";
const HomeTemplate = () => {
return (
<div>
<Header />
<Outlet />
<Footer />
</div>
);
然后像这样嵌套你的路线
<Routes>
<Route path="" element={<HomeTemplate />}>
<Route index element={<><Hero /><HomeAbout /> <Slider /> </>} </Route>
<Route exact path="about" element={<About />} />
<Route exact path="contact" element={<Contact />} />
</Route>
</Routes>
现在所有的路线都将被主页模板包裹,所有的元素都将在主页模板中的 Outlet 所在的位置呈现
我想在仪表板内制作一个不同的 header & footer 但它仍然无法正常工作,如何让它工作它只能在路由器内部工作
这是我的代码:
<Router>
<Routes>
<Route path="/" >
<Header />
<Route index element={<><Hero /><HomeAbout /> <Slider /> </>} />
<Route exact path="about" element={<About />} />
<Route exact path="contact" element={<Contact />} />
</Route>
<Route path="/dashboard">
<HeaderDashBoard/>
<Route index />
</Route>
</Routes>
<Footer />
</Router>
这也是制作仪表板的正确格式吗?
你想在这种情况下使用嵌套路由
制作另一个组件作为模板
import { Outlet } from "react-router-dom";
const HomeTemplate = () => {
return (
<div>
<Header />
<Outlet />
<Footer />
</div>
);
然后像这样嵌套你的路线
<Routes>
<Route path="" element={<HomeTemplate />}>
<Route index element={<><Hero /><HomeAbout /> <Slider /> </>} </Route>
<Route exact path="about" element={<About />} />
<Route exact path="contact" element={<Contact />} />
</Route>
</Routes>
现在所有的路线都将被主页模板包裹,所有的元素都将在主页模板中的 Outlet 所在的位置呈现