搜索

首页  >  问答  >  正文

React Router 嵌套路由与搜索参数的使用

在嵌套的React路由中使用搜索参数时,当我在/app上,点击导航到/app/user的链接后,导航不起作用。

如果我尝试不嵌套使用,它是可以工作的。但为什么在嵌套时它不起作用。

Codesandbox: CodeSandBox链接

<Routes>
    <Route path="/" element={<LandingPage />} />
    <Route path="/app" element={<Main />}>
      <Route path=":user" element={<User />} />
    </Route>
    <Route path="*" element={<PageNotFound />} />
  </Routes>
P粉541796322P粉541796322301 天前1677

全部回复(1)我来回复

  • P粉464113078

    P粉4641130782024-04-06 00:10:01

    尝试一下

    <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>
      );
    }

    回复
    0
  • 取消回复