無限スクロールの適用
カクテルレシピ共有プロジェクトを作成すると同時に.
カクテルレシピリストを表示する方法は無限スクロールに適用される
リストを表示する方法には、ページングと無限スクロールが含まれます.
無限スクロールはユーザ体験に積極的であると考え,無限スクロールを採用した.
正しい方法かどうかはわかりませんが、グーグルで取得した情報で実現できます.
countは、データを受信する最初のインデックスを記録し、取得時にサーバに送信します.
これによりサーバはcountから12の投稿を送信します
データが受信されると、次の受信する投稿にcount 12が追加され、isEndがtrueの場合、countは追加されません.
このとき、isEndは、サーバを介して受信したデータ長が0の場合、受信するデータがなくなるようにisEnd stateを変更します
setAddFetchingは、fetchの始点と終点で変更するためにロードインジケータを表示するように記述されています.
の投稿を参照した後、「≪戻る|Back|emdw≫」または「≪リスト|List|emdw≫」ボタンをクリックして戻ると、最初からスクロールを再開する必要があるという欠点があります.これは無限スクロールの欠点と見なすべきか、それとも追加の符号化で阻止できる問題と見なすべきか.... 普通の脚注はなかなか見られないと言われていますが、これは仕方ないようです…?現在の項目の投稿数は少なく、投稿リストを最後にすると、フッターが表示され、表示可能な投稿がないことを示すメッセージが表示されます.
ビットの問題を解決するために、より多くのビューボタンを作成することができます!
カクテルレシピリストを表示する方法は無限スクロールに適用される
リストを表示する方法には、ページングと無限スクロールが含まれます.
無限スクロールはユーザ体験に積極的であると考え,無限スクロールを採用した.
無限スクロールの適用
正しい方法かどうかはわかりませんが、グーグルで取得した情報で実現できます.
useEffect(() => {
window.addEventListener("scroll", handleScroll);
return () => {
window.removeEventListener("scroll", handleScroll);
};
});
コンポーネントをuseEffect hookでレンダリングするときのスクロールの検出 const handleScroll = async () => {
if (
window.innerHeight + window.scrollY + 100 >= document.body.offsetHeight &&
!isEnd
) {
setAddFetching(true);
const data = await requestList(count + 12, query);
if (data.length !== 0) {
dispatch(addArticleList(data));
setCount(count + 12);
} else {
setIsEnd(true);
}
setAddFetching(false);
}
};
スクロール下部(window.innerHeight+window.scrolly)がページ下部に触れて追加のキャプチャを実現countは、データを受信する最初のインデックスを記録し、取得時にサーバに送信します.
これによりサーバはcountから12の投稿を送信します
データが受信されると、次の受信する投稿にcount 12が追加され、isEndがtrueの場合、countは追加されません.
このとき、isEndは、サーバを介して受信したデータ長が0の場合、受信するデータがなくなるようにisEnd stateを変更します
setAddFetchingは、fetchの始点と終点で変更するためにロードインジケータを表示するように記述されています.
疑問点
Reference
この問題について(無限スクロールの適用), 我々は、より多くの情報をここで見つけました https://velog.io/@ntk100/무한-스크롤-적용テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol