You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Router嵌套路由跳转失效:/app跳转至/app/user无响应

React Router嵌套路由导航失效原因分析

你遇到的核心问题是父路由对应的<Main />组件未渲染React Router的<Outlet />组件。

React Router的嵌套路由机制要求:父路由的组件必须通过<Outlet />来作为子路由内容的挂载容器。当你点击跳转到/app/user路径时,路由匹配逻辑其实已经触发,但由于<Main />里没有<Outlet />,子路由的<User />组件没有渲染入口,所以视觉上看起来导航没有生效。

非嵌套路由场景不需要依赖<Outlet />承载内容,因此功能正常;但嵌套路由下,父路由组件必须包含这个出口组件,子路由才能正常渲染展示。

修复方案

在<Main />组件中引入并添加<Outlet />:

import { Outlet, Link } from "react-router-dom";

function Main() {
  return (
    <div>
      <h1>主页面</h1>
      <Link to="user123">跳转到用户页</Link>
      {/* 子路由的内容将渲染在此处 */}
      <Outlet />
    </div>
  );
}

另外补充:跳转的Link路径可以使用相对路径(如to="user123")或绝对路径(如to="/app/user123"),相对路径更适配嵌套路由的结构。

内容的提问来源于stack exchange,提问作者Ashish Gahlot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:57:35