💡
【tips】Strapiで表示件数を絞る
HeadlessCMSのStrapiを利用していて、少し詰まったので、投稿します。
Strapi関連の日本語情報が少ないので、誰かの参考になれば幸いです!
早速本題
要件
- starpiでニュースの最新3件を表示するロジックを組む
- Strapi用のクエリストリングを生成する qsライブラリ を利用する
ポイント
Strapiで表示件数を絞る際は pagination
オプションを使う
page
が表示するページ数
pageSize
はいわゆる page per view です
microCMSを使う方なら、
page
がmicroCMSでいうところの offset
pageSize
がmicroCMSでいうところの limit
に当たります
参考
ニュース取得関数全体
export const getNewsList = async ({ categoryUrl }: NewsQuery = {}): Promise<
NewsData[] | null
> => {
const url = new URL('/api/service-news-list', baseUrl)
url.search = qs.stringify({
fields: ['id', 'title', 'description', 'published_at', 'link'],
populate: {
thumbnail: {
fields: ['url', 'width', 'height', 'alternativeText'],
},
category: {
fields: ['label', 'url'],
},
},
sort: ['createdAt:desc'],
pagination: {
page: 1,
pageSize: 3,
},
})
const res = await fetchData(url.href)
if (!res) return null
return res.data
}
以上となります!
ご意見ご質問などあれば、コメントしていただけると嬉しいです!
Discussion