React - Pagination

Pagination

๊ฐœ๋…

๋ฆฌ์ŠคํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•„์š”ํ•œ ๋งŒํผ, ๋˜๋Š” ํ™”๋ฉด์— ๋ณด์ด๋Š” ๋งŒํผ๋งŒ ๋ฐฑ์—”๋“œ์— ์š”์ฒญํ•˜๊ณ  ์‘๋‹ต๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ

โœจ Pagnation์€ ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ ์–‘์ชฝ์—์„œ ๋ชจ๋‘ ๊ตฌํ˜„

๐Ÿ‘‰๐Ÿป ํ”„๋ก ํŠธ์—”๋“œ : ํ˜„์žฌ์˜ ์œ„์น˜(Offset)๊ณผ ์ถ”๊ฐ€๋กœ ๋ณด์—ฌ์ค„ ์ปจํ…์ธ ์˜ ์ˆ˜(Limit)๋ฅผ ๋ฐฑ์—”๋“œ์— ์ „๋‹ฌ ๐Ÿ‘‰๐Ÿป ๋ฐฑ์—”๋“œ : ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋Š์–ด ๋ณด๋‚ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„

์ด ๊ณผ์ •์—์„œ โ—๏ธ์ฟผ๋ฆฌ์ŠคํŠธ๋งโ—๏ธ ์‚ฌ์šฉ

๐Ÿ‘‰๐Ÿป ํ•ด๋‹น ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•ด ์งˆ์˜๋ฌธ(query)๋ฅผ ๋ณด๋‚ด๋Š” ์š”์ฒญ

localhost:8000/product?limit=10&offset=5

โžก๏ธ โ€œlimit์ด 10์ด๋ฉด์„œ offset์ด 5์ผ ๊ฒฝ์šฐ์˜ product ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ๋‹ฌ๋ผโ€๋Š” ์š”์ฒญ์œผ๋กœ ํ•ด์„

โœ… ํŽ˜์ด์ง€๋„ค์ด์…˜์˜ parameter

  • limit : ํ•œ ํŽ˜์ด์ง€์—์„œ ๋ณด์—ฌ์ค„ ๋ฐ์ดํ„ฐ ์ˆ˜
  • offset : ๋ฐ์ดํ„ฐ๊ฐ€ ์‹œ์ž‘ํ•˜๋Š” ์œ„์น˜(index)
  • url์—์„œ ? ๊ธฐํ˜ธ๋Š” ์œ ์ผ๋ฌด์ด
  • parameter=value ๋กœ ํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์„ ์ž‘์„ฑ
  • ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ผ ๊ฒฝ์šฐ &๋ฅผ ๋ถ™์—ฌ์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ „๋‹ฌ