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

Remix Run:带动态ID的路由结合布局使用时失效求助

Remix路由问题:/jobs/:id无法正常渲染的解决方法

核心原因

你的问题出在父路由_landing.jobs没有配置<Outlet />组件——Remix中子路由的内容必须通过父路由的<Outlet />才能渲染出来,否则访问/jobs/blah时只会显示/jobs的组件内容。

具体解决步骤

1. 给_landing.jobs路由添加<Outlet />

打开_landing.jobs/route.tsx,引入并添加<Outlet />组件,示例代码如下:

import { Outlet } from "@remix-run/react";

export default function JobsRoute() {
  return (
    <div className="jobs-page-container">
      {/* 这里保留你原本的jobs页面内容 */}
      <h1>Jobs列表页</h1>
      {/* 子路由(比如/job/:id)的内容会在这个位置渲染 */}
      <Outlet />
    </div>
  );
}

2. 确认_landing.jobs.$id路由组件导出正确

检查_landing.jobs.$id/route.tsx是否正确导出了默认组件,示例:

import { useParams } from "@remix-run/react";

export default function JobDetailRoute() {
  const { id } = useParams();
  return <div>这是ID为{id}的职位详情页</div>;
}

3. 验证路由命名规则

你的目录命名_landing.jobs.$id本身符合Remix的文件系统路由规则,对应路径就是/jobs/:id,无需修改目录结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 22:39:54