路由
React Router / Next.js
Next.js
如果是新项目,它不仅能切换页面,还具备利于搜索排名的结构和发布网站的机制。本站也是用 Next.js 做的
比较效果
用每个库做了同样的东西,动手试试看。
React Router
比较代码
修改代码,右边的预览会跟着变化。
用 Next.js 实现同样的功能
app/page.tsx → /
export default function Page() {
return <h2>首页</h2>
}app/items/page.tsx → /items
import Link from "next/link"
import { items } from "@/data/items"
export default function Page() {
return (
<div>
<h2>商品列表</h2>
<ul>
{items.map((item) => (
<li key={item.slug}>
<Link href={"/items/" + item.slug}>{item.name}</Link>
</li>
))}
</ul>
</div>
)
}app/items/[slug]/page.tsx → /items/apple 等
import Link from "next/link"
import { notFound } from "next/navigation"
import { items } from "@/data/items"
export default async function Page({
params,
}: {
params: Promise<{ slug: string }>
}) {
// 取出 URL 中的 [slug] 部分(例如 apple)
const { slug } = await params
const item = items.find((i) => i.slug === slug)
if (!item) {
notFound()
}
return (
<div>
<h2>{item.name}</h2>
<p>¥{item.price.toFixed(2)}</p>
<Link href="/items">← 返回列表</Link>
</div>
)
}比较
截至 2026 年 10 月