【ページネーション編】Notion の記事でブログサイト作成
2022-02-13
React
Next.js
TypeScript
Tailwind CSS
Notion
API
ヒントにした資料
https://egghead.io/lessons/next-js-request-paginated-data-from-notion-api-with-next-js
はじめに
今回はページネーションについて深堀りしていきたいと思います。
- 完成形(ゴールイメージ)の共有
- 前回から使用しているベースコードで実装をしてみる(テスト用のデータベース使用)
- ページ内のは100個までしか取得できないのか確認する
- 100個までが確認とれたら、100単位でページネーションをページ内に設置してみる
解決したい問題
Notion の1つの記事が長くなるとブログサイトでは全てが反映されない問題を解決したい。
原因としては、Notion のAPI の取得上限が100個までであること。これは1回の取得制限が100までなのか、それとも表示上限が100までなのか?この違いで getStaticsProps の抽出条件が変わってくるのではないか??
ポイントになりそうな技術
- while 文
- スプレッド構文 ...
ページネーションの実装
- 1ページに表示する上限を決定する
- 上限決定後、全体の要素数を割る(全体の要素数 ÷ 上限数)ことで、必要なページネーション数が求められる