nextjs
フルスタックになんでもできるreactのフレームワーク
特にサーバーでレンダリングしたり、最初からレンダリングしていたりとできる限り完全なHTMLを作ろうみたいな感じを感じている。
色々できる機能が増えてて学び直した方がいい
pages routerからapp routerにv14か13で変わったけど、書き方やら概念が結構変わってる
pages routeだとカスタムフック使って結構クライアントで実装するってのがほとんどでssr, ssgにするのにgetServerSidePropsとかが必要だったけどそこらへんがデフォルトでserver componentsになったことでサーバーで実行するのを強制された。
ただ結構素直にかける気がしてて、urlと同じようにネストするところやAPIを作るってのは結構好き
layoutやtemplateを使ってページのwrapをして共通のレイアウトを作成したりできる
root layout, nested layoutみたいなのがあってそれぞれ、全体的なページのレイアウトとページ単位での要素のレイアウトをラップしてくれる
layoutとtemplateの違いは、状態を維持して再レンダリングしないのがlayoutでtemplateは新しいインスタンス作ってレンダリングするみたいな違いがあるみたい。
だから子ページに遷移した時とかに再度実行できるみたいな感じなのかな?
layoutでprovider系の設定するのが良さそう感
https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#4-partial-rendering
https://nextjs.org/docs/app/api-reference/file-conventions/template
route handlerでかけるroute segment configとか、edge runtimeの概念とか色々出てきてわけわからんから学び直したいところ
パワフルなフレームワークな気がする
なんかでみたけど、nextjsじゃなくていいよねみたいなのは確かにそうな気がする。
できることおおいし、全てを使えるプロダクトを作って作らなくてもreact単体でも十分webサービスは作れる
remixは使ったことないけど、remixとかもあり?
個人的に玄人が楽にwebサービスを作りたいみたいな用途だとnextjsはいいんじゃないかなって気がしている
知らんけど
でも色々学べそうなところ多くて好き
SPAじゃないみたいな指摘どっかでみたけど、それでもいいんじゃない?
どう的に変えたいならclient componentsで作ればいいだろうし
完全に扱えそうってなるためにreactをちゃんと知って、その上でnextjsのlearnやらんとなー
suspenseって何?
https://react.dev/reference/react/Suspense
server componentsとかのリクエストレスポンスってどうやって確認するんやろ?
Chrome DevToolとかだとブラウザからのリクエストしか確認できない。