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

如何在子文件夹中使用动态路由?Next.js路由404问题求助

解决Next.js动态路由404问题

调整路由结构匹配规则

你的文件结构里,books/reviews/[title].jsx 无法被Next.js识别为有效路由页面,尤其是使用Next.js 13+ App Router的场景下,每个路由路径必须对应一个page.jsx文件。正确的结构应该修改为:

├── books
    ├── reviews
        ├── [title]
            └── page.jsx  # 动态路由页面需放在此文件夹内
        └── page.jsx
    └── page.jsx
└── page.jsx

将原有的[title].jsx调整为[title]/page.jsx,这样/books/reviews/nextjsbook就能正确匹配到目标页面。

检查跳转链接路径准确性

确保书籍列表里的跳转按钮路径完整且正确,用Next.js的Link组件生成路径更稳妥,示例代码:

import Link from 'next/link';

// 书籍列表项中的跳转按钮
<Link href={`/books/reviews/${book.title}`}>查看书评</Link>

注意不要遗漏/books/reviews/前缀,避免写成/reviews/${book.title}这类错误路径。

确认动态参数正常获取

在新的[title]/page.jsx文件中,要正确读取路由参数,示例代码:

export default function ReviewPage({ params }) {
  const bookTitle = params.title;
  return <div>《{bookTitle}》的书评内容</div>;
}

清除缓存并重启服务

开发模式下修改路由结构后,重启dev服务;生产环境则重新执行npm run build再部署,避免旧缓存导致路由不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 21:42:41