09-15-2021
在建立完新的专案後,在资料夹中会发现有一个名字叫做pages
的资料夹,这是我们现在要讲的主题!
我们可以使用: .js
、jsx
、.ts
、.tsx
,各种JavaScript的写法输出component的页面。
每一个在pages
中的档案都会是以pages
当作路径。
// 假设在pages有一个cat.js页面
// 那麽cat.js的路径就会是:`/cat`
function Cat(){
return <div>Cat</div>
}
expert default Cat
在next.js 中无法使用/apple/:id
的参数路由的方式得到参数,只能透过query
的方式获取到参数,/apple/[pid].js
的方式,页面网址会匹配页面:apple/1
、apple/2
。
// /apple/1
{"id":"1"}
// /apple/1?pid=abc
pages/cat/[pid]/[comment].js
--->匹配的路径为/pages/apple/cat-comment
[pid]在这里的角色是,页面
[comment]在这里的角色,页面内容
query的对象为:
{"pid":"apple","comment":"cat-comment"}
使用next/link
的方式
next/link
到component中Link
标签,这边会被编译成a
连结
import Link from 'next/link'
function Cat() {
return (
<ul>
<li>
<Link href="/cat/abc">
<a>去吧! pages/cat/[pid].js</a>
</Link>
</li>
</ul>
)
}
export default Home
使用...
在括号内的扩展符号,可以扩展动态路径用来获取全部的路径。
例如:pages/cat/[...slug].js
--->会匹配成cat/a
、cat/ab
、cat/abc
slug
也可以使用[...param]的名称。cat/a
会有的query
对象如下,匹配的参数会作为查询的参数在发送到页面,并且会是一个阵列
。{"slug":["a"]}
cat/ab
{"slug":["a","b"]}
[[...slug]]
包含参数,这样的路径下是可以被当成可以选择的。pages/cat/[[...slug]].js
,会匹配的路径为/cat
、cat/a
、cat/ab
。pages/cat/[...slug].js
的差别在於,可以选择的多重路径也匹配不带参数的路由。如/cat
query
会是一个空阵列
>>: Day 14:GUI Design Tool 之所见即所得?
分享完关於图片的排版设计,今天我们就来进行排版的实作啦! 之前有介绍过的<float>&...
又一年拉 好快! 正所谓 温故又之新 先来速度看一下 BLOG: 去年 是怎麽 努力瞎混完赛的 X...
本文将介绍如何使用 JWT 保持登入状态,配合 Swagger / OpenAPI 呈现。 .NET...
有句话说,没用过 unmarshal 就等於没写过 go func Unmarshal(data [...
DataBinding简易的单项及双向绑定 使用DataBinding之前要先在DataBingin...