Next.js v13のドキュメントを読み込んで見る試み

Tailwind CSSをデフォルトで読み込む選択肢があるのが驚き。たしかにServer Componentと相性が良いのはCSS in JSでもCSS modulesでもないのかもしれない

App Routerを学ぶ上で一番大事になるであろうページ。"client only"をつけないとクライアントで動作しない、というのとディレクトリ構造でルートが決まる、というのはある程度強制力をもたせるという点でとても有意義だと感じる。Reactの自由すぎるふるまいを縛ってきれいに書かざるを得ない状況は大変ありがたい
既存のReactライブラリの大半はサーバーで動かないので使う際は"use client"内で使う必要がある。今後はServer Component用のライブラリとかも出てくるのかな

Routing。目次が多くて頭がクラクラしてくる。
ページコンポーネントはpage.jsの中に書く必要があるらしい。
例)localhost:3000/aboutには、/app/about/page.jsに書かれた内容が表示される。
ページディレクトリ内にはloading.js, error.js, layout.jsなど、そのページの振る舞いを決めるコンポーネントが定義できる。ファイル名ベースで決定されるので注意されたし。

Parallel Routes
一つのページ内に複数のルートコンポーネントを配置できる。左半分は<Sidebar />
, 右半分は<Content />
みたいな。
<Content />
がエラーを返したら、Sidebarだけ表示させて右半分にローディングやエラーを表示できるらしい。
ちょうどTanStack Routerと同じような挙動。

Route Hander
アプリケーション内でAPIを定義できるらしい。Page Component内でfetchするのに比べ、Request Headerに細かい設定入れたり、Cookieに認証追加するときに使うのかな...。とりあえず読み進めてみよう
streaming
Vercelが用意してるSDKを使ってOpen AIに問い合わせできるらしい。どういうことだってばよ

ここまで読み進めた感想
やはり世界で一番使われているJSフレームワーク。ドキュメントも読みやすくて網羅性が高い。多言語対応など痒いところにも手が届く。この先も読み進めるのが楽しみ