动态路由 正常的应用,都有动态路由,next中讨巧使用文件命名的方式来支持。
./pages/post/create.js --> /post/create
./pages/post/[pid].js --> /post/1 , /post/abc 等,但是不会匹配 /post/create
./pages/post/[...slug].js --> /post/1/2, /post/a/b/c等,但是不会匹配/post/create , /post/abc
动态参数可以通过req.query
对象中获取({ pid }, { slug: [ 'a', 'b' ] })
,在页面中可以通过router hook
获取:
import { useRouter } from 'next/router';
function About() {
const router = useRouter();
const { bID, pID } = router.query
return <div>About</div>
}