Load More
一覧の下に置く「もっと見る」。読み込み中と失敗を区別して表示する。
インポート
import { LoadMore } from '@caroainc/ui-components/client'個別サブパス(バンドルサイズを抑えたい場合):
import { LoadMore } from '@caroainc/ui-components/load-more'基本的な使い方
cursorなどで続きを読み込む一覧の下に置きます。読み込み中はボタンが押せなくなり、失敗すると説明と「再読み込み」が出ます(表示中の項目はそのまま残します)。最後まで読み込んだら、呼び出し側で描画しないでください。
下の例は、1回目の読み込みでわざと失敗します。
Loading...
{nextCursor ? (
<LoadMore status={status} onLoadMore={() => loadMore(nextCursor)} />
) : null}使い分け
- ページ番号で移動する一覧は
Paginationを使う - 何を読み込むかが分かりにくい画面では、
label(例: 「メンバーをもっと見る」)やerrorMessageで対象を書く
Props
| Prop | Type | Default | Description |
|---|---|---|---|
status | 'idle' | 'loading' | 'error' | - | 続きがある・読み込み中・失敗(必須) |
onLoadMore | () => void | - | 続きを読み込む(必須) |
label | string | 'もっと見る' | ボタンの文言 |
retryLabel | string | '再読み込み' | 失敗したときのボタンの文言 |
errorMessage | ReactNode | '続きを読み込めませんでした。' | 失敗したときの説明 |