Sey*_*izi 11 reactjs react-router-dom
我希望你们一切都好。最近我用react做了一个项目,并在这里制作了一个示例。问题出在路由上。我想在其父路由下显示子路由,但不幸的是我没有成功。如果有人可以解释问题或修复代码,我将非常感激。
应用程序
import "./styles.css";
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
import Login from "./Login";
import Main from "./Main";
export default function App() {
return (
<div className="App">
<Router>
<Routes>
<Route path="/" element={<Login />} />
<Route path="/main" element={<Main />}></Route>
</Routes>
</Router>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
主要的
import React from "react";
import {
BrowserRouter as Router,
Routes,
Route,
Outlet,
Link
} from "react-router-dom";
import Child1 from "./Child1";
import Child2 from "./Child2";
export default function Main() {
return (
<div>
<h1>main page</h1>
<Link to="/main/child1">child 1</Link>||||
<Link to="/main/child2">child 2</Link> ||||
<Link to="/">log out</Link>
<Outlet />
<Routes>
<Route path="/main/child1" element={<Child1 />} />
<Route path="/main/child1" element={<Child2 />} />
</Routes>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
儿童 1 和 2
export default function Child1() {
return <div>Child1</div>;
}
Run Code Online (Sandbox Code Playgroud)
export default function Child2() {
return <div>Child2</div>;
}
Run Code Online (Sandbox Code Playgroud)
最好的。
Dre*_*ese 24
主要问题是您的根路径匹配器的指定方式与嵌套路径不匹配,因此组件Main
被卸载。
应用程序
这里 的路径Main
应该指定一个通配符匹配器以允许子路由的继续匹配,path="/main/*"
。
export default function App() {
return (
<div className="App">
<Router>
<Routes>
<Route path="/" element={<Login />} />
<Route path="/main/*" element={<Main />} /> // <-- allow sub-route matches
</Routes>
</Router>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
主要的
请注意,所有链接和路径也已更新为相对链接/路径与绝对链接/路径。
export default function Main() {
return (
<div>
<h1>main page</h1>
<Link to="child1">child 1</Link> ||||{" "}
<Link to="child2">child 2</Link> ||||{" "}
<Link to="/">log out</Link>
<Outlet />
<Routes>
<Route path="child1" element={<Child1 />} />
<Route path="child2" element={<Child2 />} />
</Routes>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14488 次 |
最近记录: |