ページネーションをサポートするデータソースからの結果をページネーションしたい場合は、次のプロセスに進む必要があります。
- ページ サイズの定義 - これは、1 ページに表示する結果の数です。
- オフセット = ページ番号 (0 ベース) * ページ サイズを使用して、ユーザーが要求した各ページをフェッチします。
- 取得したページの結果を表示します。
これはすべて、実行中のページネーションを台無しにする操作がバックエンド システムに影響を与える可能性があるという事実を考慮しなくても、問題なく機能します。ページの取得の間にデータを挿入したり、データを削除したりする人について話しているのです。
page_size = 10;
get page 0 -> results from 0 to 9;
user inserts a record that due to the query being executed goes to page 0 - the one just shown;
get page 1 -> results from 10 to 19 - the first results on the page is the result on the old page 0.
説明されている動作は、視聴者を混乱させる可能性があります。この問題を回避する実用的な解決策を知っていますか。