Open3
無限スクロール
useQueryを利用する場合keepPreviousData: true,
にすると良い
この時、クエリパラメータも第一引数に加えること
そうするとリクエストのたびに前取得した状態が、消えることなく、新しいコンテンツのみ表示できる。
isLoadingは初回のみのローティングとして利用して、isFetchingは「もっと見る」を押すたびに走るローティング。
const { isLoading, data, isFetching } = useQuery(
[
'api',
'contents',
{ limit }, // 20, 30, 40となる
],
() =>
axiso(
`https://sampe.com/api/contents&limit=${limit}`,
).then((data) => data),
{
keepPreviousData: true,
}
);
react-queryを使っている場合は、useInfiniteQueryを使うといける