
t0mmy
2020年12月30日に参加
学習履歴詳細
書籍「実践NextJS」1章 読了
やったこと
- 書籍「実践NextJS」1章 読了
学んだこと
Route 系の用語整理
Tree/Subtree
- Tree ... 階層構造
- Subtree ... 入れ子のTree
- Root ... TreeまたはSubtreeにおける根っこのノード
- Leaf ... 子を持たないノード
Segment / Path
example.com/profile/settings
- example.com ... ドメイン名
- profile , settings ... Segment
profile/settings
... Path
特定のPathに対応する Segment を、 「Root Segment」 と呼ぶ。
末端(≒子Segment を持たない)Segment を Leaf Segment と呼ぶ。
Dynamic Route / Dynamic Segment
Pathが動的に変わり得るRouteを Dynamic Route と呼ぶ。
- ID情報を含む場合など
Dynamic Route を構成するSegment を Dynamic Segment と呼ぶ。
Route Segment の構成
app
ディレクトリを頂点に、ファイル配置でRouteを表現する。
src/app/ ├── company-info │ └── page.tsx // localhost:3000/company-info ... └── page.tsx // localhost:3000/ (ルート)
layout.tsx
Header , Footer , サイドナビなど、全画面共通で表示したいUIを実装する場所。
また、layoutファイルはネスト出来る。
つまり、layoutファイルは、Segment毎に設けることが出来る。
Segment は Pageファイル必須ではなく、layoutファイルだけでも良い。
ナビゲーションの概念と用語
- ハードナビゲーション ... 画面を再読み込みする画面遷移
- ソフトナビゲーション ... 画面を再読み込みしない画面遷移
※ナビゲーション ... 画面遷移のこと
NextJS の SPAは「ソフトナビゲーション」。
加えて、データやレンダリングした画面をキャッシュしてくれる。
Dynamic Segment
[categoryName]
部分が Dynamic Segment。
ディレクトリ構成
├── categories
│ └── [categoryName]
│ └── page.tsx
index.tsx
... <li> <Link href="/categories/flower">花</Link> </li> <li> <Link href="/categories/animal">動物</Link> </li> ...
所感
- NextJS で言う Route は、ファイルシステムに近そう
- "Root Segment" の解説から、どのSegment も、必ずRootを持つ...ということになりそう
- layout ファイルを使いこなすことで、コードを共通化 が捗りそう
- dynamic segment は、機能としては理解できたが、有効なユースケースが思い浮かばない
- 経験を積めばわかるかな?
Next.js
2024年04月13日(土)
2.0時間