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

RemixJS嵌套路由404求助:React+TypeScript子页面无法加载

解决RemixJS嵌套路由404问题

针对你遇到的/dashboard/sales访问404问题,按以下步骤排查:

  • 确认路由文件位置
    确保dashboard.tsx和dashboard文件夹都位于app/routes目录下,Remix只会自动识别这个目录下的路由文件。如果文件放在其他目录,路由不会被注册。

  • 修正父路由组件名称
    React组件要求首字母大写,虽不会直接导致404,但不符合规范且可能引发潜在问题。将父组件定义改为:

    import { Outlet } from "@remix-run/react";
    
    export default function Dashboard() { // 首字母大写
      return (
        <div>
          <h1>Dashboard</h1>
          <Outlet />
        </div>
      );
    }
    
  • 检查remix.config.ts配置
    打开项目根目录的remix.config.ts,确认没有手动配置routes选项覆盖自动路由。如果存在自定义routes配置,需手动添加/dashboard/sales的路由规则:

    export default {
      // 其他配置...
      routes(defineRoutes) {
        return defineRoutes((route) => {
          route("/dashboard", "routes/dashboard.tsx", () => {
            route("sales", "routes/dashboard/sales.tsx");
          });
        });
      },
    };
    

    若无自定义路由需求,直接删除routes配置项,让Remix自动识别文件系统路由。

  • 重启开发服务器
    Remix开发服务器有时无法自动检测到新的路由文件夹/文件,重启后新路由会被重新注册。

  • 验证路径大小写
    确保URL路径/dashboard/sales和文件名sales.tsx大小写一致(Mac/Linux系统区分大小写,Windows不区分),若文件名是Sales.tsx,则需访问/dashboard/Sales。

  • 检查Remix版本兼容性
    若使用Remix v2,确保项目初始化时未启用特殊路由模式。v2默认使用文件系统路由,无需额外配置;若从v1升级,需确认remix.config.ts中future.v2_routeConvention已设为true。

内容的提问来源于stack exchange,提问作者Gi Tobias

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 02:57:31