Wenn ich Suchparameter in einer verschachtelten React-Route verwende, wenn ich mich in /app befinde und auf den Link geklickt habe, der zu /app/user führt, funktioniert die Navigation nicht.
Wenn ich versuche, ohne Verschachtelung zu verwenden, funktioniert es. Aber warum funktioniert es nicht, wenn es verschachtelt ist?
Codesandbox: CodeSandBox-Link
<Routes> <Route path="/" element={<LandingPage />} /> <Route path="/app" element={<Main />}> <Route path=":user" element={<User />} /> </Route> <Route path="*" element={<PageNotFound />} /> </Routes>
嘗試一下
<Routes> <Route path="/" element={<LandingPage />} /> <Route path="/app" element={<Main />} /> <Route path="/app/:user" element={<User />} /> <Route path="*" element={<PageNotFound />} /> </Routes>
如果你想將User.js
組件嵌套,你需要在Main.js
中添加Outlet
import { Link, Outlet } from "react-router-dom"; export default function Main() { return ( <div> <p>Main Page</p> <Link to="/app/ashish">點擊進入用戶頁面</Link> <Outlet/> </div> ); }