月別の記事一覧を表示するための実装 その2
3/13にぼちぼち始めた、月別の記事一覧の実装を進めた。というかなかなかやってなかったので今日結構進めた。
URLは/pages/posts/[...yearAndMonth].tsx
形式にした。/pages/posts/[year]/[month].tsx
にすると、/pages/posts/[id].tsx
とルーティングの判別ができない(idとyearの差別化ができない)ため。ここらへんはうまいことやればできるのかな?とも思うがどうなんだろうか。
月別の記事一覧を取得する処理と、月別の記事一覧を表示するページの実装をした。/posts/2022/03
にアクセスすると2022年3月の記事一覧が(開発環境で)表示されるようになった。
残りは、ホーム(/pages/index.tsx
)にアクセスしたときに、最新の月別一覧を表示するように変更するのと、年月選択のセレクトボックスの表示を追加する感じになる。
Next.jsのDynamic Routingでいい感じにできそうでよかった。
Routing: Dynamic Routes | Next.js
日本語訳されたものは↓
Routing: Dynamic Routes | Next.js
/pages/posts/[...yearAndMonth].tsx
とすることで、/posts/2022-03-01
は/pages/posts/[id].tsx
に、/posts/2022/03
は/pages/posts/[...yearAndMonth].tsx
にルーティングされる。
/months/2022-03
のようなURLも考えたけど、表示するのはあくまでpostsなので、これでいいかな。